我无法解决试图通过bash脚本执行java程序的问题。
为什么我会犯这个错误??
Exception in thread "main" java.lang.NoClassDefFoundError: com/QuoteTester
Caused by: java.lang.ClassNotFoundException: com.QuoteTester
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.QuoteTester. Program will exit.
这是我的脚本内容
quotetest.sh
java -cp ./com/ug_ugbapi-all.jar com.QuoteTester $1
我正在执行脚本,这边
./quotetest.sh GOOG
从我执行这个脚本quotetest.sh的目录中,我得到了一个名为com的目录,在这个目录下我得到了
ug_ugbapi-all.jar and QuoteTester.class classes
。尝试了所有选项(将所有文件放在同一个文件夹com中,但没有工作)
有人能告诉我怎么解决吗??
最佳答案
对于给定的类路径,Java只会查看jar文件。要在jar之外找到类文件,必须修改-cp
参数:
java -cp ./com/ug_ugbapi-all.jar:. com.QuoteTester $1
关于java - 无法使用Linux脚本执行Java程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17618521/