我已经通过POM.xml为我的maven selenium webdriver项目创建了jar文件。这是从SVN存储库结账。这两个jar文件是在目标文件夹中创建的。但是当我尝试执行这个jar时,它说...无法找到或加载主类com.sample.MainTestClass
下面是代码,我在"执行windows批处理文件"中使用了命令mvn package。在詹金斯
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.sample.MainTestClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
以下是命令生成的jar的结构 &#34; jar tf CPTK-1.0-SNAPSHOT-jar-with-dependencies.jar&#34;
META-INF / MANIFEST.MF
META-INF /
META-INF /行家/
META-INF /行家/ com.saucelabs /
META-INF /行家/ com.saucelabs / CPTK /
META-INF /行家/ com.saucelabs / CPTK / pom.properties
META-INF /行家/ com.saucelabs / CPTK / pom.xml的
我需要在这个pom.xml文件中添加什么吗? 请帮忙解决这个问题 提前谢谢
答案 0 :(得分:0)
您可以使用Maven Shade插件生成可执行jar。
&LT;构建&GT;
<plugins>
<plugin>
< groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>Your Main class</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
请参考此网址。 https://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html