我正在尝试从 bash shell 运行 Java 程序。 该程序使用一些第 3 方库(mysql 连接器、amazon aws)
这只是一个标准的java程序,不运行在J2EE服务器或任何复杂的东西上。
它总是提示找不到第三方库中的类之一(ClassNotFoundException)(如果我删除对此的引用,那么它会提示另一个类)。
这很令人困惑,因为我已经检查了包含库的 jar 文件的位置是否在类路径中。我还尝试将库放在与我尝试运行的 .class 文件相同的文件夹中,但无济于事。
我在同一台计算机上使用 javac 命令编译了程序,并且在查找库时没有出现问题,所以我很困惑为什么它在运行时找不到它们。
我也在Windows下从cmd尝试过这个,但遇到了同样的问题。
我能找到的唯一合理的解释是,这是由于 JVM 中的安全限制,在这种情况下,最好知道如何为此程序禁用它们?
谢谢
最佳答案
有点像 Bozho 所说的,但是对于 jar 文件,您必须通过路径和名称来调用 jar 文件,而不是它们的路径。根据我从您的帖子中收集到的信息,您只是添加了路径。
关于java - 无法从 shell 运行 Java 程序 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4684683/