我在Eclipse中有Java Maven项目。当我执行maven build
并将目标设置为package
时,maven将构建名称为my-project-0.0.1-SNAPSHOT.jar
的jar文件。我需要包始终是常量名,因为我将它放在以脚本开头的系统中。 my-project.jar
可以。如何实现?
如何要求Maven将我的项目正在使用的所有jar库放入my-project.jar
中?
如何要求Maven将my-project.jar
放入特定的文件夹target/ready_release
中。当前,maven将jar放入target
文件夹中。如何要求maven也将项目正在使用的所有库和配置文件复制到此文件夹中。
也许我误会了,所有这些工作都应该在其他一些maven目标或其他任何操作下完成?
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.aaa.rfid.scaleandlabel</groupId>
<artifactId>my-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<organization>
<name>aaa</name>
<url>www.aaa.lt</url>
</organization>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>org.scream3r</groupId>
<artifactId>jssc</artifactId>
<version>2.8.0</version>
</dependency>
</dependencies>
</project>
答案 0 :(得分:1)
您可以通过配置jar插件来指定软件包的名称:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<finalName>ready_release/my-project</finalName>
</configuration>
</plugin>
这将在<project-root>/target/ready_release/jar-name.jar
处创建jar文件,随后的所有构建都将覆盖它。