【问题标题】:Configurable outputDirectory for maven war plugin using Git使用 Git 的 Maven 战争插件的可配置输出目录
【发布时间】:2017-07-02 08:32:27
【问题描述】:

我在 git 存储库上建立了一个 maven 项目,它使用 maven-war-plugin 直接在 tomcat 目录中创建战争。但是在不同的系统上,tomcat目录路径可以不同。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <outputDirectory><file-path></outputDirectory>
            </configuration>
        </plugin>

我希望这个 outputDirectory 参数是可配置的,而无需更改本地系统上的 pom.xml。

【问题讨论】:

  • 您可以尝试使用属性(用户将在他们的用户settings.xml中拥有自己的值)或使用环境变量
  • 查看@EricGreg 在此 SO 帖子中的答案:stackoverflow.com/questions/10463077/…

标签: java maven tomcat pom.xml


【解决方案1】:

我遇到了完全相同的问题,我通过将以下插件放入我的 POM 文件中解决了这个问题。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>                            
            </resource>
        </resources>
    </configuration>
</plugin>  


<properties>
    <failOnMissingWebXml>false</failOnMissingWebXml>
</properties>

【讨论】:

  • 这是一个很好的解决方案,但它要求将可配置资源保留在项目目录中。环境变量似乎是合适的解决方案。
【解决方案2】:

正如ali4j 在评论中提到的那样,使用 env 变量是适合这种情况的解决方案。在 POM 中使用自定义环境变量并要求用户在他们的系统中设置环境。 How to refer environment variable in POM.xml?

【讨论】:

    猜你喜欢
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 2014-08-20
    • 2015-02-18
    • 2011-10-20
    • 2015-08-14
    相关资源
    最近更新 更多