我创建了一个maven项目,并使用testng在其中编写测试。我还使用mvn package命令创建了一个可执行jar,但是执行它时出错。我实际上无法找出错误。请帮我解决一下这个。
$java -jar apitesting1-0.0.1-SNAPSHOT.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/ITestListener
Caused by: java.lang.ClassNotFoundException: org.testng.ITestListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: apitesting1.apitesting1.App. Program will exit.
这是我的主班
public class myClass
{
public static void main( String[] args )
{
}
}
这是我的pom.xml
<modelVersion>4.0.0</modelVersion>
<groupId>abc</groupId>
<artifactId>abc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<build> <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<executions> <execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>abc.abc.myClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
我是Maven的新手,并且从各个地方复制了pom.xml的某些内容(特别是)。请让我知道是否有多余的数据或标记。但是,我觉得有..请帮助。
谢谢 :)
最佳答案
主类元素必须包含一个类的名称。您的班级名称是apitesting1.apitesting1.App
,而不是src/main/java/apitesting1.apitesting1.App.java
。
关于java - Maven项目中创建可执行jar时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26566160/