【发布时间】:2014-11-06 09:15:28
【问题描述】:
我有一个用 maven 创建的 Selenium TestNG 项目。 ``
- 这个项目没有主类
- 使用TestNg.xml文件,在pom.xml文件中配置相同。
- 从 eclispe 运行“maven 测试”,测试根据 testng.xml 中定义的类成功运行。这里没有问题
- 在命令提示符下使用项目文件夹中的
mvn test尝试了相同的操作,并成功运行。这里也没有问题。
我的要求:现在我想将此项目打包到可执行 jar 中,或者是否有任何选项可以制作可执行文件,以便我可以使用批处理文件安排运行。
为此,我运行了“mvn package”命令,它在目标文件夹中生成了 jar 文件。现在,当我尝试以java -jar myproj-0.0.1-SNAPSHOT.jar 运行它时,我收到消息为“在 myproj-0.0.1-SNAPSHOT.jar 中没有主清单属性”。这是预期的行为,因为在我的情况下没有主类。
所以我创建了一个主类,只有一行来打印“文本”,并在 pom.xml 中的条目下面添加了 mainClass
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<manifest>
<mainClass>mainPackage.MainOne</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
然后我运行 mvn package 并生成了新的 jar。
然后转到我项目的目标文件夹并以java -jar myProj.jar mainPackage.MainOne 运行命令,它运行并打印了“文本”。我的 TestNG 测试没有运行。它刚刚跑了主课:(..
我该怎么办?
【问题讨论】: