Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用外部jar从命令行创建可执行jar_Java_Jar - Fatal编程技术网

Java 使用外部jar从命令行创建可执行jar

Java 使用外部jar从命令行创建可执行jar,java,jar,Java,Jar,我有下面的命令,它工作得很好,test2是主类: java -cp "client-combined-3.141.59.jar:client-combined-3.141.59-sources.jar:libs/byte-buddy-1.8.15.jar:libs/guava-25.0-jre.jar:libs/okio-1.14.0.jar:libs/commons-exec-1.3.jar:libs/okhttp-3.11.0.jar:." test2 然后我创建了一个罐子: me@me:

我有下面的命令,它工作得很好,test2是主类:

java -cp "client-combined-3.141.59.jar:client-combined-3.141.59-sources.jar:libs/byte-buddy-1.8.15.jar:libs/guava-25.0-jre.jar:libs/okio-1.14.0.jar:libs/commons-exec-1.3.jar:libs/okhttp-3.11.0.jar:." test2
然后我创建了一个罐子:

me@me:/javaProj$ jar cvfm test2.jar ./MAINFEST.MF -C ./ .
added manifest
adding: MAINFEST.MF(in = 241) (out= 156)(deflated 35%)
adding: client-combined-3.141.59-sources.jar(in = 529743) (out= 477209)(deflated 9%)
adding: LICENSE(in = 11365) (out= 3961)(deflated 65%)
adding: test2.class(in = 1575) (out= 934)(deflated 40%)
adding: libs/(in = 0) (out= 0)(stored 0%)
adding: libs/okio-1.14.0.jar(in = 85756) (out= 82065)(deflated 4%)
adding: libs/guava-25.0-jre.jar(in = 2738171) (out= 2438570)(deflated 10%)
adding: libs/okhttp-3.11.0.jar(in = 413639) (out= 391155)(deflated 5%)
adding: libs/byte-buddy-1.8.15.jar(in = 2987269) (out= 2613396)(deflated 12%)
adding: libs/commons-exec-1.3.jar(in = 54423) (out= 47600)(deflated 12%)
adding: CHANGELOG(in = 121465) (out= 43027)(deflated 64%)
adding: test2.java(in = 1325) (out= 528)(deflated 60%)
adding: client-combined-3.141.59.jar(in = 1527879) (out= 1438576)(deflated 5%)
adding: NOTICE(in = 89) (out= 78)(deflated 12%)
adding: geckodriver(in = 7008696) (out= 2390356)(deflated 65%)
MANIFEST.MF: me@me:/javaProj$cat MAINFEST.MF

Manifest-Version: 1.0
Class-Path: client-combined-3.141.59.jar:client-combined-3.141.59-sources.jar:libs/byte-buddy-1.8.15.jar:libs/guava-25.0-jre.jar:libs/okio-1.14.0.jar:libs/commons-exec-1.3.jar:libs/okhttp-3.11.0.jar:.
Main-Class: test2
然后当我跑步时:

me@me:/javaProj$ java -jar test2.jar
Error: Could not find or load main class test2

有人能帮忙吗?我的目的是提供一个jar可执行文件。谢谢

提供主类及其包名。例如:

Main类:YourPackage.YourMainClass

有关更多信息:


希望有帮助。

提供主类及其包名。例如:

Main类:YourPackage.YourMainClass

有关更多信息:


希望有帮助。

我用定义/重新编译的包测试更改了java源文件,然后将清单更改为:

Manifest-Version: 1.0
Class-Path: client-combined-3.141.59.jar client-combined-3.141.59-sources.jar libs/byte-buddy-1.8.15.jar libs/guava-25.0-jre.jar libs/okio-1.14.0.jar libs/commons-exec-1.3.jar libs/okhttp-3.11.0.jar .
Main-Class: test.test2
将:替换为空格,然后在最后一行末尾输入CR。命令是:

jar cvfm test2.jar ./MAINFEST.MF

这是现在的工作。多亏了所有的响应

我用定义/重新编译的包test更改了java源文件,然后将清单更改为:

Manifest-Version: 1.0
Class-Path: client-combined-3.141.59.jar client-combined-3.141.59-sources.jar libs/byte-buddy-1.8.15.jar libs/guava-25.0-jre.jar libs/okio-1.14.0.jar libs/commons-exec-1.3.jar libs/okhttp-3.11.0.jar .
Main-Class: test.test2
将:替换为空格,然后在最后一行末尾输入CR。命令是:

jar cvfm test2.jar ./MAINFEST.MF

这是现在的工作。多亏了所有的响应

我可以使用Eclipse来正确地实现它,但是我需要Jenkins“Main Class:test2”的命令行格式这是主类的完全限定名(包括包)吗?你看过吗?test2是没有包的主类。然后为主类提供一个完全限定的名称,包括包名。我可以使用Eclipse将其设置为正确的,但是我需要Jenkins的命令行格式“main class:test2”这是主类完全限定的名称(包括包)?你看过吗?test2是没有包的主类。请为主类提供包含包名的完全限定名。我的test2类没有包。我的test2类没有包