假设我在pom.xml文件中放入了以下插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>make-a-jar</id>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<finalName>my-artifact-name</finalName>
</configuration>
</execution>
</executions>
</plugin>
然后运行“mvn clean install”。Maven在目标库中创建了两个jar文件。第一个jar文件编译源文件,第二个jar编译测试文件。这两个jar将具有相同的工件名称。
如果我想在另一个项目中使用源代码的jar作为依赖项,我可以在另一个项目中放入以下依赖项:
<dependency>
<groupId>groupId</groupId>
<artifactId>my-artifact-name</artifactId>
<scope>system</scope>
<type>jar</type>
<systemPath>${basedir}/lib/my-artifact-name.jar</systemPath>
</dependency>
到目前为止还不错。
如果我还想为测试文件添加依赖项,就会出现问题。在本例中,我将有两个依赖项,它们具有相同的groupId和artifactId以及不同的systempath。Maven不会读取具有相同groupId和ArtifactiD的两个依赖项。只会读其中一个。
我能想到的一个解决方案是让Maven为test指定一个不同的工件名称。你知道怎么做吗?
我对此的一般回答是:
src/test/
中的测试仅用于在构建期间运行它们。它们不需要放进任何罐子里。
如果您需要类作为测试的助手类,您可以创建一个单独的jar来包含这些类。然后可以将其用作test
依赖项。
无论如何,请尽量避免
。如果您在计算机上使用mvn clean install
构建项目,则可以引用具有如下依赖项的结果jar
<dependency>
<groupId>groupId</groupId>
<artifactId>my-artifact-name</artifactId>
<version>1.2.3</version>
</dependency>
在同一帐户/计算机上的任何位置,而不给出
。
我试图使用Maven将我的测试类打包到一个具有依赖关系的可执行jar中,但我很难做到这一点。 这是我的pom。迄今为止的xml: 当我执行mvn clean package时,构建会创建3个JAR: 可执行文件-tests-1.0。jar//由mvn包阶段构建 executable-tests-1.0-teststjar//由jar插件构建 cucumber试验。jar//通过shade插件构建
问题内容: 我试图使用Maven将测试类打包到具有依赖项的可执行jar中,但是我正在努力做到这一点。 到目前为止,这是我的pom.xml: 当我执行构建时,将创建3个jar: execute-tests-1.0.jar //由mvn软件包阶段构建 execute-tests-1.0-teststjar //由jar插件构建 cumber-tests.jar //由shade-plugin构建 包含
我使用maven在eclipse上开发了spring boot selenium web驱动程序项目。我在中运行测试,并将所有元素、页面和配置放入。 现在我想创建可执行jar。怎么做?可能吗?我想让它从cmd运行,比如 到目前为止,我尝试使用mvn clean安装,mvn clean包来生成。jar文件。但当我试图运行它时,它不起作用。它在中运行main。我想在 这是我的测试类: 这是我在 当我运
问题内容: 使用Maven 3.1 Eclipse Helios Aspekt: 尝试使用maven-jar / dependency-plugins创建可运行的jar文件。 问题: 创建jar文件和依赖项后,当我尝试使用命令启动jar文件时出现NoCLassDefFoundErrors 但是类/文件可以在./dependency-jars文件夹中找到???我还尝试了以下命令: 这也不起作用。 题
问题内容: 我有一个Maven项目,我想从中创建两个可执行的jar文件。一个将与用户交互使用,第二个将作为计划作业运行,读取前者生成的日志文件。最后,除了MANIFEST.MF文件中的Main- Class属性外,我希望两个jar文件都相同。 我正在使用maven-antrun- plugin创建一个可执行jar,在我尝试通过引入Maven配置文件尝试创建第二个jar文件之前,这似乎工作得很好。我
如果我想使用jar实用程序创建一个没有META-INF废话的jar文件,我可以传递-m开关,它将: 我已经有了创建jar文件的配置,而且我不想再搞砸另一个插件...