在Eclipse中使用Maven包

时间:2018-11-04 09:33:11

标签: java eclipse maven

我在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>

1 个答案:

答案 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文件,随后的所有构建都将覆盖它。