gpt4 book ai didi

java - 无法使用用于执行 Java 程序的 Linux 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:02 25 4
gpt4 key购买 nike

我无法解决我试图通过 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 和 QuoteTester.class 类 .

尝试了所有选项(将所有文件放在同一个文件夹 com 中,但没有任何效果)

有人能告诉我如何解决吗??

最佳答案

对于给定的类路径,Java 会在 jar 文件中查找。为了让它在 jar 之外找到类文件,你必须修改你的 -cp 参数:

java -cp ./com/ug_ugbapi-all.jar:. com.QuoteTester $1

关于java - 无法使用用于执行 Java 程序的 Linux 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17618521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com