解决Rest Assured项目Jar包执行时主类找不到的问题
解决Rest Assured Jar包运行提示“cannot find or load main class”的问题
检查Jar包的MANIFEST.MF配置是否正确
Jar包的META-INF/MANIFEST.MF文件必须明确指定主类,格式为:Main-Class: com.yourpackage.YourMainClass
如果使用Maven构建,需要在pom.xml中配置maven-jar-plugin来自动生成该配置:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.3.0</version> <configuration> <archive> <manifest> <mainClass>com.yourpackage.YourMainClass</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build>若用Gradle构建,在
build.gradle中配置Jar任务的manifest属性:jar { manifest { attributes 'Main-Class': 'com.yourpackage.YourMainClass' } }验证主类的全限定名是否准确
确认MANIFEST.MF中填写的主类全限定名(包名+类名)与实际代码完全一致,注意大小写、包名拼写错误,比如com.test.Main和com.Test.Main是两个不同的类。检查Jar包是否包含主类的字节码文件
执行命令jar tf application-name.jar列出Jar包内的所有文件,确认能找到对应主类的.class文件,比如主类是com.yourpackage.YourMainClass,则Jar包内应该有com/yourpackage/YourMainClass.class这个路径的文件。确认构建工具生成了正确的可执行Jar
重新执行构建命令(Maven用mvn clean package,Gradle用gradle clean build),确保构建过程中没有报错,并且生成的Jar包位于正确的目录(Maven默认在target/下,Gradle默认在build/libs/下)。
内容的提问来源于stack exchange,提问作者Henry Passion
相关产品推荐
相关产品推荐

