2015-09-22 4 views
0

Я шел по пути SDN4 миграции из SDN3 и столкнулись с той же проблемой, описываемая здесь: SDN4 - Neo4j OGM - Jackson 2SDN4 - Neo4j OGM и JsonSubType Аннотация

Пластырь упоминается в ответ и упоминает, что он будет применяться к Neo4j-OGM 1.1.1. С тех пор я пробовал версии 1.1.1 и 1.1.2 без успеха. Вот пример моего аннотированного объекта SDN с аннотацией JsonSubType. Я использую аннотации Jackson 2.6.2.

@JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME, 
     include = JsonTypeInfo.As.WRAPPER_OBJECT) 
@JsonSubTypes({ 
     @JsonSubTypes.Type(value = au.com.guml.domain.uml.Package.class, name = "Package"), 
     @JsonSubTypes.Type(value = au.com.guml.domain.uml.Class.class, name = "Class"), 
     @JsonSubTypes.Type(value = au.com.guml.domain.uml.diagram.Diagram.class, name = "Diagram") 
}) 
@NodeEntity 
public interface PackageableElement extends NamedElement { 

    public Integer getSequence(); 

    public void setSequence(Integer sequence); 

} 

Если я прокомментирую аннотацию JsonSubTypes, мой модульный тест работает. Однако, ставя его в результаты в исключение, как из связанного вопроса stackoverflow.

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.neo4j.ogm.session.SessionFactory]: Factory method 'getSessionFactory' threw exception; nested exception is java.lang.ClassFormatError: Invalid annotation element type tag: 0x0 
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) 
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:591) 
    ... 45 more 
Caused by: java.lang.ClassFormatError: Invalid annotation element type tag: 0x0 

Любые идеи, обходные пути? Мне кажется, что патч не применяется к релизам neo4j-ogm.

ответ

1

Это должно быть исправлено в версии:

1.1.3-SNAPSHOT

До 1.1.3 не будет отпущена, вам необходимо добавить зависимость в хранилище моментальных снимков:

<repository> 
     <id>neo4j-snapshots</id> 
     <url>http://m2.neo4j.org/content/repositories/snapshots</url> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </repository> 
Смежные вопросы