【问题标题】:How to install only pom with Maven install-plugin with minimal configuration如何使用 Maven install-plugin 以最少的配置仅安装 pom
【发布时间】:2015-10-02 06:06:45
【问题描述】:

我正在使用 Maven (2.2.1) install-plugin (2.5.2) 安装存储库中不可用的第三方依赖项。

当依赖既有jar又有pom时,install-plugin会读取pom文件并设置打包、groupId、artifactId和version,所以我不需要指定它们:

<execution>
    <id>1</id>
    <phase>validate</phase>
    <goals>
        <goal>install-file</goal>
    </goals>
    <configuration>
        <file>si/odm/jrules-engine/8.5.1/jrules-engine-8.5.1.jar</file>
        <pomFile>si/odm/jrules-engine/8.5.1/jrules-engine-8.5.1.pom</pomFile>
    </configuration>
</execution>

但是,当依赖只有一个pom文件时,强制我手动指定打包、groupId等:

<execution>
    <id>2</id>
    <phase>validate</phase>
    <goals>
        <goal>install-file</goal>
    </goals>
    <configuration>
        <packaging>pom</packaging>
        <groupId>odm</groupId>
        <artifactId>jrules-otherthing</artifactId>
        <version>8.5.1</version>
        <file>si/odm/jrules-otherthing/8.5.1/jrules-otherthing-8.5.1.pom</file>
    </configuration>
</execution>

是否可以配置 install-plugin 在 pom 文件是唯一安装的文件时读取它?

能够做到这一点将使配置更短且更具可读性。

我尝试在没有&lt;file&gt; 元素的&lt;pomFile&gt; 元素中指定pom 文件,但安装插件坚持我必须有&lt;file&gt;。我认为这目前是不可能的,但我想在这里问一下,以防我错过了什么。

【问题讨论】:

  • 首先停止使用Maven 2.2.1,然后将此jar文件安装到存储库管理器中,不要尝试通过生命周期来执行此操作。
  • 这正是我告诉我的主管我们应该做的!很高兴我没有这么想。 ;)

标签: maven maven-install-plugin


【解决方案1】:

为了继承其他人的 cmets,以下是我使用 maven-install-plugin 使用 Maven 3.6.1 仅将 pom 安装到我的 repo 中的方法:

    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>3.0.0-M1</version>
                <configuration>
                    <groupId>com.microservice</groupId>
                    <artifactId>parent</artifactId>
                    <version>${revision}</version>
                    <packaging>pom</packaging>
                    <file>pom.xml</file>
                </configuration>
                <executions>
                    <execution>
                        <id>install-pom</id>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                        <phase>install</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-02
    • 2015-06-12
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多