繁体   English   中英

我们如何为 Java 项目的 pom.xml 中定义的特定依赖项设置/修改名称?

[英]How do we set/modify the name for a specific dependency defined in pom.xml for a Java project?

现在,名称设置为“名称+版本”。 我需要从最终名称中排除版本。 例如 - 对于

<dependency>
  <groupId>group-a</groupId>
  <artifactId>artifact-b</artifactId>
  <version>1.0</version>
</dependency>

我看到在我的构建中生成了 artifact-b-1.0.jar,但我希望它命名为 artifact-b.jar 以便我需要使用 Z68995FCBF432492D154ZDAC404 每次版本更改来更改所有脚本。

在构建期间,您的 jar 会生成到target 您可以使用finalName参数更改目标的名称。 如果使用 install,则将工件安装到本地存储库(您不能影响本地存储库中的名称)。 如果您进行部署,则工件将部署到远程存储库(在那里您也不能不影响名称)。

你可以这样做:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>package.class.main.Method</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <finalName>${project.artifactId}</finalName>
                <appendAssemblyId>false</appendAssemblyId>
            </configuration>
        </plugin>
    </plugins>
</build>

您可以使用Maven 安装插件install-file目标

    <groupId>group-a</groupId>
    <artifactId>artifact-b</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-install-plugin</artifactId>
                <version>3.0.0-M1</version>
                <executions>
                    <execution>
                        <id>install-file-${project.artifactId}</id>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                        <phase>install</phase>
                        <configuration>
                            <file>${project.build.directory}/${project.build.finalName}.jar</file>
                            <artifactId>artifact</artifactId>
                            <version>b</version>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

mvn install output:

[INFO] ...
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ so58011949 ---
[INFO] Building jar: ...\target\so58011949-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:3.0.0-M1:install (default-install) @ artifact-b ---
[INFO] Installing ...\target\artifact-b-0.0.1-SNAPSHOT.jar
       to ...\.m2\repository\group-a\artifact-b\0.0.1-SNAPSHOT\artifact-b-0.0.1-SNAPSHOT.jar
[INFO] Installing ...\pom.xml
       to ...\.m2\repository\group-a\artifact-b\0.0.1-SNAPSHOT\artifact-b-0.0.1-SNAPSHOT.pom
[INFO] 
[INFO] --- maven-install-plugin:3.0.0-M1:install-file (install-file-artifact-b) @ artifact-b ---
[INFO] Installing ...\target\artifact-b-0.0.1-SNAPSHOT.jar
       to ...\.m2\repository\group-a\artifact\b\artifact-b.jar
[INFO] Installing ...\AppData\Local\Temp\artifact-b-0.0.1-SNAPSHOT7551062015093608214.pom
       to ...\.m2\repository\group-a\artifact\b\artifact-b.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] ...

本地存储库:

|
+- group-a
|  +- artifact
|     +- b
|        +- artifact-b.jar
|        +- artifact-b.pom
|  +- artifact-b
|     +- 0.0.1-SNAPSHOT
|        +- artifact-b-0.0.1-SNAPSHOT.jar
|        +- artifact-b-0.0.1-SNAPSHOT.pom
|

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM