Ошибка Javassist в спящем режиме: неверный тип константы: 60

Я создаю инструмент Cli для управления существующим приложением. И приложение, и тесты работают нормально и работают нормально, но, несмотря на это, я получаю ошибку javassist при запуске моего инструмента cli, который существует в jar:

INFO: Bytecode provider name : javassist
...
INFO: Hibernate EntityManager 3.5.1-Final
Exception in thread "main" javax.persistence.PersistenceException: Unable to configure EntityManagerFactory
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:371)
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:55)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
        ...
        at com.sophware.flexipol.admin.AdminTool.<init>(AdminTool.java:40)
        at com.sophware.flexipol.admin.AdminTool.main(AdminTool.java:69)
Caused by: java.lang.RuntimeException: Error while reading file:flexipol-jar-with-dependencies.jar
        at org.hibernate.ejb.packaging.NativeScanner.getClassesInJar(NativeScanner.java:131)
        at org.hibernate.ejb.Ejb3Configuration.addScannedEntries(Ejb3Configuration.java:467)
        at org.hibernate.ejb.Ejb3Configuration.addMetadataFromScan(Ejb3Configuration.java:457)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:347)
        ... 11 more
Caused by: java.io.IOException: invalid constant type: 60
        at javassist.bytecode.ConstPool.readOne(ConstPool.java:1027)
        at javassist.bytecode.ConstPool.read(ConstPool.java:970)
        at javassist.bytecode.ConstPool.<init>(ConstPool.java:127)
        at javassist.bytecode.ClassFile.read(ClassFile.java:693)
        at javassist.bytecode.ClassFile.<init>(ClassFile.java:85)
        at org.hibernate.ejb.packaging.AbstractJarVisitor.checkAnnotationMatching(AbstractJarVisitor.java:243)
        at org.hibernate.ejb.packaging.AbstractJarVisitor.executeJavaElementFilter(AbstractJarVisitor.java:209)
        at org.hibernate.ejb.packaging.AbstractJarVisitor.addElement(AbstractJarVisitor.java:170)
        at org.hibernate.ejb.packaging.FileZippedJarVisitor.doProcessElements(FileZippedJarVisitor.java:119)
        at org.hibernate.ejb.packaging.AbstractJarVisitor.getMatchingEntries(AbstractJarVisitor.java:146)
        at org.hibernate.ejb.packaging.NativeScanner.getClassesInJar(NativeScanner.java:128)
        ... 14 more

Так как я знаю, что jar - это хорошо, так как юнит и интеграционные тесты работают против него, я подумал, что это может быть проблемой с javassist, поэтому я попробовал cglib. Затем поставщик байт-кода отображается как cglib, но я все еще получаю ту же самую трассировку стека с присутствующим в ней javassist.

cglib определенно находится в пути к классам:

$ unzip -l flexipol-jar-with-dependencies.jar | grep cglib | wc -l
383

Я пробовал и с hibernate 3.4 и 3.5 и получаю ту же ошибку. Это проблема с javassist?

ОБНОВИТЬ: Я могу успешно запустить приложение в Eclipse (щелкните правой кнопкой мыши -> Выполнить как -> Java-приложение), но сгенерированный maven jar-with-dependencies не удается. Я предполагаю, что разница в том, что с Eclipse javassist не проверяет содержимое jar, скорее, он проверяет все файлы классов (и, возможно, несколько зависимых сторонних jar-файлов).

Ответы на вопрос(1)

Ваш ответ на вопрос