【发布时间】:2019-03-19 05:03:30
【问题描述】:
是否可以使用另一个 jar 中的类而不是主类?
我的工作目录:
.
|-- Main.java
|-- Makefile
|-- Manifest
`-- original
`-- Test.java
Main.java:
public class Main {
public static void main (String[] args) {
Test.test();
}
}
Test.java:
public class Test {
public static void test() {
System.out.println("This is a test");
}
}
Manifest:
Main-Class: Main
所以,我愿意:
javac -source 1.6 -target 1.6 -classpath original/:./ Main.java
javac -source 1.6 -target 1.6 -classpath original/:./ original/Test.java
它会生成Main.class and original/Test.class
我可以用java -classpath original/:./ Main 运行它。这就是我想要的。
但现在我需要jar 文件。如何正确操作?
我试过了:
jar cfm Main.jar Manifest Main.class
jar cfm original/Test.Jar Manifest original/Test.class
但是在这里我不知道如何正确运行我的Main。
如果我这样做:java -jar -classpath original/:./ Main。
我收到了Error: unable to access jarfile Main。
如果我这样做:java -jar original/Test.jar Main.jar。
我收到了Error: could not find or load main class Main。
我被困在这里了。
【问题讨论】:
标签: java jar classpath executable-jar