我有一个非常奇怪的错误。这就是我所做的:
我创建了一个项目(使用Netbeans),其中包括datanucleuse-core-3.0.0-release.jar。该项目可以成功建立。当我尝试使用Netbeans运行它或运行'java -jar< .jar bundle>'时它也顺利运行在dist文件夹中通过命令提示符。
问题是,当我将dist文件夹复制到另一个位置并尝试使用命令提示符再次运行它时,它会出现以下错误:
线程“main”中的异常读取清单文件时出错 “罐子:文件:/ E:!/新/ BTJ / NCRServer / lib目录/ DataNucleus将核-3.0.0-release.jar /plugin.xml” org.datanucleus.exceptions.NucleusException:读取清单时出错 文件“jar:fi 文件:/ E:!/新/ BTJ / NCRServer / lib目录/ DataNucleus将核-3.0.0-release.jar /plugin.xml” 在org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonMan) agedPluginRegistry.java:481) 在org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensions(否) nManagedPluginRegistry.java:219) 在org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensionPoin TS(NonManagedPluginRegistry.java:160) 在org.datanucleus.plugin.PluginManager。(PluginManager.java:62) 在org.datanucleus.NucleusContext。(NucleusContext.java:211) 在org.datanucleus.NucleusContext。(NucleusContext.java:166) 在org.datanucleus.api.jdo.JDOPersistenceManagerFactory。(JDOPersis tenceManagerFactory.java:360) 在org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenc eManagerFactory(JDOPersistenceManagerFactory.java:290) 在org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceMa nagerFactory(JDOPersistenceManagerFactory.java:191) 在com.ncr.server.Server。(Server.java:68) 在com.ncr.server.Server.main(Server.java:91)引起:java.io.FileNotFoundException:E:\(系统找不到路径s pecified) at java.util.zip.ZipFile.open(Native Method) 在java.util.zip.ZipFile。(ZipFile.java:114) 在java.util.jar.JarFile。(JarFile.java:135) 在java.util.jar.JarFile。(JarFile.java:99) 在org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonMan) agedPluginRegistry.java:390) ... 10多个嵌套Throwables StackTrace:java.io.FileNotFoundException:E:\(系统找不到路径 指定) at java.util.zip.ZipFile.open(Native Method) 在java.util.zip.ZipFile。(ZipFile.java:114) 在java.util.jar.JarFile。(JarFile.java:135) 在java.util.jar.JarFile。(JarFile.java:99) 在org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonMan) agedPluginRegistry.java:390) 在org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensions(否) nManagedPluginRegistry.java:219) 在org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensionPoin TS(NonManagedPluginRegistry.java:160) 在org.datanucleus.plugin.PluginManager。(PluginManager.java:62) 在org.datanucleus.NucleusContext。(NucleusContext.java:211) 在org.datanucleus.NucleusContext。(NucleusContext.java:166) 在org.datanucleus.api.jdo.JDOPersistenceManagerFactory。(JDOPersis tenceManagerFactory.java:360) 在org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenc eManagerFactory(JDOPersistenceManagerFactory.java:290) 在org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceMa nagerFactory(JDOPersistenceManagerFactory.java:191) 在com.ncr.server.Server。(Server.java:68) 在com.ncr.server.Server.main(Server.java:91)
有人知道吗?
答案 0 :(得分:0)
我真的很抱歉,特别是对于StackOverflow中的datanucleus成员。
显然问题是我,不是netbeans,datanucleus API,也不是任何人。 从“jar:file:/ E:/!new / BTJ / NCRServer / lib / datanucleus-core-3.0.0-release.jar!/plugin.xml”中可以看到,我把Netbeans的“dist”文件夹在“E:/!new”文件夹中。我不知道为什么,但“!new”文件夹似乎在“release.jar!”中引起额外的感叹号(!)。
我将dist文件夹移动到D:/并且它有效!!
所以,如果有人遇到过这个问题(优先使用带有感叹号的文件夹名称,并且意外地将一个带有datanucleus-core-3.0.0-release.jar的项目放在其中),那就是解决方案。
谢谢。