Я пытаюсь создать JAR-файл, который я могу установить на машину, не предназначенную для разработки, и запустить некоторые модульные тесты, которые осуществляют веб-сервис.Я читал, что есть много способов сделать это в Maven.Я сосредоточен на использовании цели test-jar, потому что это кажется наиболее логичным подходом.
Мои тесты находятся в отдельном проекте maven со структурой папок:
/myProject/src/test/java/org/testplatform/services/test/<name of testng test>.java
Вотмой конфиг для test-jar в pom:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>org/testplatform/services/test/MainTestClass.java</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Когда я выполняю полученный 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:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Может кто-нибудь помочь мне понять, какие изменения мне нужнысделать в моем pom и / или тесты, чтобы создать независимый, исполняемый файл JAR для запуска testng модульных тестов?Был бы полезен демонстрационный проект.