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

use*_*240 4 java terminal ubuntu jar

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

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

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

Jig*_*shi 11

如果您的应用程序中有单个类,flights.java并且您所需的所有jar都位于此处,请/home/ubuntu/test/libs/使用此方法

javac -cp '.:/home/ubuntu/test/libs/*.jar' flights.java
Run Code Online (Sandbox Code Playgroud)

并运行

java -cp '.:/home/ubuntu/test/libs/*.jar' flights
Run Code Online (Sandbox Code Playgroud)

更好地将依赖和应用程序打包到一个jar中,并使其成为可启动且可运行的jar


J.J*_*J.J 5

12罐不是很大。为什么不只是将所有jar附加在classpath上呢?

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

编辑:

这就是我要怎么做。创建一个MANIFEST.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  
Run Code Online (Sandbox Code Playgroud)

jar1.jarjar的实际文件名替换。

然后,您可以创建命令罐子:jar cvf test.jar -m ./MANIFEST.MF

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