为 Cucumber Selenium 项目创建可执行 jar 文件

Create executable jar file for Cucumber Selenium project

问题:我想为我的 BDD Cucumber Selenium 框架创建一个可执行 jar,我可以 运行 使用像 "java -jar bddframework-0.0.1-SNAPSHOT.jar" 这样的命令。

我试过的:

  1. 我试图通过"mvn clean package"直接创建一个jar文件。我确实得到了一个 jar 文件,但是当我 运行 使用 java -jar *** 时,我收到以下消息:

    没有主要清单属性,在 bddframework-0.0.1-SNAPSHOT.jar

  2. 然后我尝试通过添加一个新的 Main.java.

  3. 来添加如下所示的主要方法
public static void main(String[] args) throws Throwable {
        String[] arguments = {"--plugin", "html:build/reports/cucumber", "--glue", "com.demo.amazonbdddocker.teststeps", "src/test/resources/feature"};
        cucumber.api.cli.Main.main(arguments);
    }

我仍然得到同样的错误:没有主要清单属性

该问题的根本原因是您只是创建了一个不可执行的 JAR 文件。为了创建可执行jar文件,您需要在POM.xml中进行以下配置,之后您将能够创建可执行jar文件。

<build>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <archive>
          <manifest>
            <mainClass>fully.qualified.MainClass</mainClass>
          </manifest>
        </archive>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>
  </plugins>
</build>

然后你可以运行下面的maven目标

mvn clean compile assembly:single