Maven Intellij MANIFEST.MF无法解析主类属性

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

我正在为我的项目创建一个可执行的jar文件,并创建了
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文件中出现了相同的错误。我会尝试,如果我能提供一个样本项目你。在此之前,请告诉我上述信息是否对您有帮助。