如何在 ubuntu 中运行具有大量 jars 依赖项的 java 文件



我有一个java类,它有近12个jar文件依赖项,我正在使用ubuntu 12.10。我需要知道如何运行这个 java 应用程序,因为每次我运行它时,它都会给我错误,因为"找不到符号"。我将所有 jar 文件都放在一个名为 libs 的文件夹中。我已经尝试了这些命令,但这些命令都没有给我一些成功的结果。我有航班.java类在测试目录中,libs 目录在测试目录中。目前我在测试目录中

javac -cp "/home/ubuntu/test/libs/*.jar" flights.java

javac -cp '/home/ubuntu/test/libs/*.jar' flights.java

如果您的应用程序中有一个名为 flights.java 的类,并且所有必需的 jar 都位于 /home/ubuntu/test/libs/ 然后使用这个

javac -cp '.:/home/ubuntu/test/libs/*.jar' flights.java

并运行

java -cp '.:/home/ubuntu/test/libs/*.jar' flights

最好只是将依赖项和应用程序打包到单个 jar 中,并使其可启动和可运行 jar

12个罐子并不是一个很大的数字。为什么不直接将所有 jar 附加到类路径上?

或者,您可以创建另一个 jar,并在该 jar 的 MANIFEST 的类路径变量中指定所有 jar。MF,然后将此单个 jar 添加到类路径中。

编辑:

这是我的做法。创建清单。内容类似于以下内容的 MF 文件:

Manifest-Version: 1.0    
Archiver-Version: whatever  
Created-By: whatever  
Built-By: author-name  
Build-Jdk: 1.6.0_34  
Class-Path: jar1.jar jar2.jar jar3.jar  

jar1.jar替换为 JAR 的实际文件名。

然后你可以用命令创建一个jar:jar cvf test.jar -m ./MANIFEST.MF

现在,当您在类路径上使用它时,请像java -jar xyz.jar class-name一样使用它

最新更新