我编写了一个Java客户端企业应用程序,当我从Netbeans运行它时它非常好。
请注意,在启动应用程序时会运行查询,该查询会向Entitybean发送查询。
问题是,当我尝试从Windows JAR
运行此command line
应用程序时,出现此错误:
java -jar Apps.jar
Exception in thread "main" java.lang.NoClas
sDefFoundError: javax/persistence/Query
at Apps.Main.main(Main.java:75)
Caused by: java.lang.ClassNotFoundException: javax.persistence.Query
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
我很惊讶!因为它在EntityManger
和Database
之间成功连接,所以它使用了javax.persistence
的库! ..那么为什么它在尝试发送查询时没有看到库?!
那我怎么解决这个问题,通过命令行运行应用程序呢?不是仅来自Netbeans
?!
JAVA_HOME
和PATH
变量谢谢,