我有一个与Jar一起打包的JAR,因此它内部包含多个依赖项(使用JAR URL表示法):
<one.jar>!/lib/<deps1.jar>
<one.jar>!/lib/<deps2.jar>
...
是否可以从main()
中的类com.example.A
运行deps2.jar
?
我尝试了java -cp one.jar!/lib/deps2.jar com.example.A
,但这没用。
答案 0 :(得分:1)
您可以在主.jar中的某个位置包含main(),以委托com.example.A.main()。这将使您只需要几行代码即可获得所需的行为...一个小的附加类定义文件。例如:
package foo.bar;
import com.example.A;
class MainEntryDelegate {
public static void main(String... args) {
com.example.A.main(args);
}
}
因此,您的应用将可以通过显而易见的方式运行:
java -cp one.jar foo.bar.MainEntryDelegate
或者您是否正确设置了清单:
java -jar one.jar