在cmd中使用Eclipse Java项目运行外部jar

时间:2014-01-16 12:23:37

标签: java eclipse command-line

我在eclipse中编写了一个项目,我想用cmd运行它的“.class”文件。
我抬起头,看到我必须使用这种格式:

  

java -cp。 package.mainclass

我试过了,它有点工作,问题是我的项目中有一个lib目录,其中包含我使用的jar文件,当运行时如上所述,我得到的错误是找不到类(除了主要) 我该怎么办呢? 注意:项目目录中有一个xml .classpath文件,其中包含所用jar的名称。

3 个答案:

答案 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