java在另一个jar中运行外部jar
有可能运行一个我在我的类的另一个jar中的jar吗
我正在尝试从我的类运行此命令
java -cp //file:/D:/Users/nb38tv/workspace/f2e-core/f2e-mock/f2e-test-framework/target/f2e-test-framework-1.8.3-SNAPSHOT.jar!/h2/sakila-h2-master/h2-1.3.161.jar -ifExists -tcp -web -tcpAllowOthers
但是java无法找到jar
如果我从路径中删除!
,我将收到此错误
Unrecognized option: -ifExists
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
# 1 楼答案
不可能执行这样嵌入在jar中的jar,但即使有可能,Java命令行也是不正确的。这是因为
-ifExists
(和其他选项)被解释为java
可执行文件的命令行选项如果从
f2e-test-framework-1.8.3-SNAPSHOT.jar
中提取该h2-1.3.161.jar
并尝试使用相同的命令行执行它,则会收到相同的错误消息它可能需要使用
-jar
而不是-cp
,或者需要指定要在-ifExists
之前运行的类