Maven Intellij MANIFEST.MF无法解析主类属性
我正在为我的项目创建一个可执行的jar文件,并创建了Maven Intellij MANIFEST.MF无法解析主类属性,maven,intellij-idea,executable-jar,cucumber-java,manifest.mf,Maven,Intellij Idea,Executable Jar,Cucumber Java,Manifest.mf,我正在为我的项目创建一个可执行的jar文件,并创建了MANIFEST.mf文件。 我已将清单文件的位置更改为src/main/resources 尽管manifest.mf文件是由intellij自动生成的,但它仍然显示了带有主类属性的错误,如“无法解析类” 我的主课是这样的: package runner; import io.cucumber.junit.Cucumber; import io.cucumber.junit.CucumberOptions; import org.junit
MANIFEST.mf
文件。
我已将清单文件的位置更改为src/main/resources
尽管manifest.mf
文件是由intellij自动生成的,但它仍然显示了带有主类属性的错误,如“无法解析类”
我的主课是这样的:
package runner;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
strict=true,
monochrome=false,
features = {"src/test/java/features/ALogin.feature",},
glue = {"steps"},
plugin= {
"html:target/site/cucumber-html",
"json:target/cucumber1.json"}
)
public class TestRunner {
public static void main(String[] args){
String[] arguments={"--glue", "steps"};
cucumber.api.cli.Main.main(arguments);
SecurityManager manager = new IgnoreExitCall();
System.setSecurityManager(manager);
try {
cucumber.api.cli.Main.main(arguments);
} catch (SecurityException s) {
System.out.println("Ignore exit");
}
}
}
Manifest-Version: 1.0
Main-Class: runner.TestRunner
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>
runner.TestRunner
</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
我的MANIFEST.mf
如下所示:
package runner;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
strict=true,
monochrome=false,
features = {"src/test/java/features/ALogin.feature",},
glue = {"steps"},
plugin= {
"html:target/site/cucumber-html",
"json:target/cucumber1.json"}
)
public class TestRunner {
public static void main(String[] args){
String[] arguments={"--glue", "steps"};
cucumber.api.cli.Main.main(arguments);
SecurityManager manager = new IgnoreExitCall();
System.setSecurityManager(manager);
try {
cucumber.api.cli.Main.main(arguments);
} catch (SecurityException s) {
System.out.println("Ignore exit");
}
}
}
Manifest-Version: 1.0
Main-Class: runner.TestRunner
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>
runner.TestRunner
</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
悬停在主类上时,它表示无法解析类“runner.TestRunner”
我的pom.xml
如下所示:
package runner;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
strict=true,
monochrome=false,
features = {"src/test/java/features/ALogin.feature",},
glue = {"steps"},
plugin= {
"html:target/site/cucumber-html",
"json:target/cucumber1.json"}
)
public class TestRunner {
public static void main(String[] args){
String[] arguments={"--glue", "steps"};
cucumber.api.cli.Main.main(arguments);
SecurityManager manager = new IgnoreExitCall();
System.setSecurityManager(manager);
try {
cucumber.api.cli.Main.main(arguments);
} catch (SecurityException s) {
System.out.println("Ignore exit");
}
}
}
Manifest-Version: 1.0
Main-Class: runner.TestRunner
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>
runner.TestRunner
</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
org.apache.maven.plugins
maven汇编插件
3.1.0
包裹
单一的
真的
runner.TestRunner
带有依赖项的jar
您能澄清确切的问题吗?这只是关于未解析类的消息吗?如果您提供一个示例项目来检查是否有更好的机会获得帮助。不,这不仅仅与消息有关,在执行jar文件时,我会遇到相同的错误“无法解析类:runner.TestRunner”。我假设这是因为在MANIFEST.mf文件中出现了相同的错误。我会尝试,如果我能提供一个样本项目你。在此之前,请告诉我上述信息是否对您有帮助。