为 Cucumber Selenium 项目创建可执行 jar 文件
Create executable jar file for Cucumber Selenium project
问题:我想为我的 BDD Cucumber Selenium 框架创建一个可执行 jar,我可以 运行 使用像 "java -jar bddframework-0.0.1-SNAPSHOT.jar" 这样的命令。
我试过的:
我试图通过"mvn clean package"直接创建一个jar文件。我确实得到了一个 jar 文件,但是当我 运行 使用 java -jar *** 时,我收到以下消息:
没有主要清单属性,在 bddframework-0.0.1-SNAPSHOT.jar
然后我尝试通过添加一个新的 Main.java.
来添加如下所示的主要方法
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
问题:我想为我的 BDD Cucumber Selenium 框架创建一个可执行 jar,我可以 运行 使用像 "java -jar bddframework-0.0.1-SNAPSHOT.jar" 这样的命令。
我试过的:
我试图通过"mvn clean package"直接创建一个jar文件。我确实得到了一个 jar 文件,但是当我 运行 使用 java -jar *** 时,我收到以下消息:
没有主要清单属性,在 bddframework-0.0.1-SNAPSHOT.jar
然后我尝试通过添加一个新的 Main.java.
来添加如下所示的主要方法
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