具有引用库的Java程序:NoClassDefFound
如何从命令行运行一个Java程序,其中包含多个引用库、.jar文件? 我已将所有.jar放在/lib文件夹中,该文件夹位于项目的根文件夹中,并将这些.jar添加到构建路径中。 所以我的项目现在看起来像这样: 项目:具有引用库的Java程序:NoClassDefFound,java,jar,terminal,classpath,command-line-interface,Java,Jar,Terminal,Classpath,Command Line Interface,如何从命令行运行一个Java程序,其中包含多个引用库、.jar文件? 我已将所有.jar放在/lib文件夹中,该文件夹位于项目的根文件夹中,并将这些.jar添加到构建路径中。 所以我的项目现在看起来像这样: 项目: -->/src/Entry.java, ... (all them .java files) -->/bin/Entry.class, ... (all them other .class files) -->/lib/commons-codec-1.10./(
-->/src/Entry.java, ... (all them .java files)
-->/bin/Entry.class, ... (all them other .class files)
-->/lib/commons-codec-1.10./(all them .jars)*
现在,当我尝试从cmd运行程序时:
我将自己定位在/bin文件夹中并执行java条目,但我得到了NoClassDefFound异常
我应该如何运行它?在运行程序时,您需要告诉JVM在哪里查找类。 我们用来告诉jvm的参数称为classpath 实现这一点有不同的方法
java-cp“;lib/a.jar;lib/b.jar”条目
我希望它能帮助你。谢谢。1)哇,
-cp
能用逗号吗?我想它应该是*nix上的冒号,Windows上的分号?2) 另一种方法是添加带有类路径
和主类
属性的清单,然后java-jar
就可以了;引用可执行JAR,并引用使用通配符的可能性。如果我键入如下内容:java-cp“lib/a.jar;lib/b.jar”条目,那么它找不到条目类!尝试在类路径中的java-cp.lib/a.jar;lib/b.jar“Entry-a.”来包含当前文件夹