我对Maven完全不熟悉。我有一个使用TestNG注释的maven项目(selenium项目)。这意味着我在整个项目中没有主要方法。我想用CurrentCulture
创建一个胖的JAR文件。我已经为mvn包找了一些文章,但找不到任何相关的东西。我们怎样才能为没有主要方法的项目实现这一目标。
修改
在检查更多文章时,我在主要方法下面添加了Class,如下所示
DateSeparator
其中AnnotationTest是使用所有注释的类。
当我从命令行运行生成的* one-jar.jar文件时,我得到mvn package
。由于它是maven项目,我的test.class文件位于 / target / test-classes 中。如何在main方法中使其可用。
答案 0 :(得分:1)
我试图弄清楚这件事,以防万一其他人出现在这里,这就是我解决该问题的方法:
我创建了一个主类,该主类可以像这样运行testng.xml文件中的所有类:
public class MainClass {
public static void main(String[] args){
// Get the path to testng.xml
String xmlPath = System.getProperty("user.dir") + "/testng.xml";
// Run all the tests in testng.xml
TestNG testng = new TestNG();
List<String> suites = Lists.newArrayList();
suites.add(xmlPath);
testng.setTestSuites(suites);
testng.run();
}
}
然后,您可以按照以下说明使用Maven为您构建胖罐:How can I create an executable JAR with dependencies using Maven?
这仅在您已经有一个testng.xml文件的情况下才有帮助,而不是必须将其命名为,您只需要xml中已定义的所有类或测试,就像这样:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Your Suite Name">
<test name="TestName">
<classes>
<class name="com.fullyQualified.ClassName"></class>
<class name="com.fullyQualified.ClassName2"></class>
<class name="com.fullyQualified.ClassName3"></class>
</classes>
</test>
</suite>