我有三个类,都在同一个包中。我跑步时只需要执行, java -jar jarName.jar
Class1.java
package test;
public class Class1 {
public static void main(String[] args) throws Exception
{
System.out.println("Enter Class1");
//Class1 bs = new Class1();
Class2 objClass2 = new Class2();
objClass2.method1();
System.out.println("Exit Class1");
}
//hello
}
Class2.java
package test;
public class Class2 {
int exitValue=100;
public static int doIt() throws Exception{
System.out.println("Enter doIt");
int exitValue=10;
if(exitValue>0) {
throw new TestInstallException("Got an Exception here!");
}
return 0;
}
public void method1() throws Exception {
System.out.println("Enter Class2");
int exitValue = Class2.doIt();
System.exit(exitValue);
}
}
TestInstallException.java
package test;
public class TestInstallException extends java.lang.Exception {
public TestInstallException()
{
super();
}
public TestInstallException(String s) {
super(s);
}
public TestInstallException(String s, Exception e) {
super(s, e);
}
public TestInstallException(Throwable cause)
{
super(cause);
}
}
我甚至使用以下内容修改了清单文件,
> cat dd / META-INF / MANIFEST.MF
清单 - 版本:1.0。
创建人:1.8.0_141(Oracle Corporation)
Main-Class:test.Class1 。
因此,我们可以看到它定义了主类。我在一个名为new.jar的jar文件中捆绑了everthing。但是,当我运行java -jar new.jar时,我会遇到异常。
java -jar new.jar
错误:无法找到或加载主类test.Class1
jar -tvf test.jar
0 Sat Apr 14 20:17:54 IST 2018 META-INF /。
89 Sat Apr 14 20:29:48 IST 2018 META-INF / MANIFEST.MF。
562 Sat Apr 14 20:11:02 IST 2018 Class1.class。
760 Sat Apr 14 20:11:06 IST 2018 Class2.class。
542 Sat Apr 14 20:10:50 IST 2018 TestInstallException.class。
答案 0 :(得分:0)
通过将类捆绑在测试文件夹中来解决问题。
测试/类的* .class
另外,在清单中添加了这个 Class-Path:。