मैं मौजूदा एप्लिकेशन को प्रबंधित करने के लिए एक क्ली टूल बना रहा हूं। दोनों आवेदन और परीक्षण ठीक निर्माण और ठीक से चलाने, लेकिन उस के बावजूद मैं एक javassist विफलता को प्राप्त होने वाली मेरी CLI उपकरण है जो जार के भीतर मौजूद चल:हाइबरनेट में जावासिस्ट विफलता: अमान्य निरंतर प्रकार: 60
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
के बाद से मैं जानता हूँ कि जार इकाई और एकीकरण परीक्षण के रूप में ठीक है इसके खिलाफ दौड़ो, मैंने सोचा कि यह जावासवादी के साथ एक समस्या हो सकती है, इसलिए मैंने cglib की कोशिश की। बाइटकोड प्रदाता तब cglib के रूप में दिखाता है लेकिन मुझे अभी भी उसमें मौजूद जाववादी के साथ सटीक एक ही स्टैक ट्रेस मिलता है।
cglib classpath में निश्चित रूप से है:
$ unzip -l flexipol-jar-with-dependencies.jar | grep cglib | wc -l
383
मैं दोनों 3.4 और 3.5 हाइबरनेट और ठीक उसी त्रुटि मिलती है साथ की कोशिश की है। क्या यह जावासवादी के साथ एक समस्या है?
अद्यतन: मैं ग्रहण के भीतर सफलतापूर्वक आवेदन चला सकते हैं (सही क्लिक-> चलाएँ जैसे-> जावा आवेदन), लेकिन Maven-उत्पन्न जार-निर्भरता के साथ प्रयोग विफल रहता है। मुझे लगता है कि अंतर यह है कि ग्रहण जावस्त्री युक्त जार का निरीक्षण नहीं कर रहा है, बल्कि, यह सभी वर्ग फ़ाइलों (और शायद कुछ निर्भर तृतीय पक्ष जार) का निरीक्षण कर रहा है।
स्कैनिंग कोड से पहले जोड़ने के लिए 'shopt -s globstar' मत भूलना पद के शीर्ष पर। –