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

如何在ubuntu中运行包含大量jars依赖项的java文件,java,ubuntu,jar,terminal,Java,Ubuntu,Jar,Terminal,我有一个java类,它几乎有12个jar文件依赖项,我正在使用ubuntu 12.10。我需要知道如何运行这个java应用程序,因为每次我运行它时,它都会给我错误,比如“找不到符号”。我把所有jar文件都放在一个名为libs的文件夹中。我试过这些命令,但没有一个给我成功的结果。我在测试目录中有flights.java类,libs目录在测试目录中。目前我在测试目录中 javac-cp“/home/ubuntu/test/libs/*.jar”flights.java javac-cp'/home/

我有一个java类,它几乎有12个jar文件依赖项,我正在使用ubuntu 12.10。我需要知道如何运行这个java应用程序,因为每次我运行它时,它都会给我错误,比如“找不到符号”。我把所有jar文件都放在一个名为libs的文件夹中。我试过这些命令,但没有一个给我成功的结果。我在测试目录中有flights.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,并在该jar的MANIFEST.MF中指定类路径变量中的所有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  
用jar的实际文件名替换
jar1.jar

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


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

您能告诉我如何使用第二个选项吗?您需要一个构建工具来实现这一点,maven在这里非常好这个命令“javac-cp”。:/home/ubuntu/test/libs/*.jar'flights.java”给了我和前面一样的错误。最后你没有写.jar。只需在文件夹名称后使用*即可。也就是说,使用“java-cp.:/home/ubuntu/test/libs/flights”编译包含不同包的java文件时,经常会出现问题。删除它们可以简化您在CMDU中的编译。请逐步指导我如何创建包含所有jar依赖项的jar文件,然后在发出javac命令时使用此jar。提前谢谢