我在eclipse中编写了一个项目,我想用cmd运行它的“.class”文件。
我抬起头,看到我必须使用这种格式:
java -cp。 package.mainclass
我试过了,它有点工作,问题是我的项目中有一个lib目录,其中包含我使用的jar文件,当运行时如上所述,我得到的错误是找不到类(除了主要) 我该怎么办呢? 注意:项目目录中有一个xml .classpath文件,其中包含所用jar的名称。
答案 0 :(得分:2)
您需要将.classpath
中列出的所有手动的广告加入您的Java
命令。另一个查找jars
列表的地方是Project->Properties->BuildPath
您可以使用自定义脚本生成类路径,例如(* NIX):
java -cp $(echo lib/*.jar | tr ' ' ':') package.MainClass
修改强>
好的,所以要直接使用Eclipse .classpath
文件条目在* NIX中生成类路径,你可以使用以下命令:
java -cp $(echo $(grep ".jar" .classpath | awk -F \" '{print $4}') | tr ' ' ':') package.MainClass
这样您就不必手动生成类路径。对于Windows,你需要bash脚本来做同样的事情,我还没有解决这个问题!
答案 1 :(得分:2)
将应用程序使用的库添加到类路径中。
java -cp .; lib / my-lib1.jar; lib / my-lib2.jar my.pkg.MainClass
如果您还将类打包成JAR文件(建议使用),则可以执行以下操作(假设名称为main.jar,它位于应用程序的根目录中):
java -cp main.jar; lib / my-lib1.jar; lib / my-lib2.jar my.pkg.MainClass
但是,如果您的应用程序已经有一个JAR文件,那么您将有一个manifest file,您可以在其中添加类路径:
Class-Path:lib / my-lib1.jar; lib / my-lib2.jar
在这种情况下,您只需使用
启动它java -cp main.jar my.pkg.MainClass
并且 - 最后一步 - 因为您已经有一个带有清单文件的主JAR,您可以通过将它添加到清单文件使其成为可运行的JAR:
Main-Class:my.pkg.MainClass
现在您可以通过以下方式开始申请:
java -jar main.jar
双击也可以立即使用。
答案 2 :(得分:0)
使用这个我希望这对你有用:
java -cp <your jar file location> package.mainclass