【问题标题】:Including non-java files when compiling into WAR using Maven使用 Maven 编译成 WAR 时包含非 java 文件
【发布时间】:2020-01-24 06:25:37
【问题描述】:

我正在开发一个访问 IBM 云服务的 Spring Boot Web 应用程序。为了使服务 API 工作,IBM-credentials.env 文件必须位于项目的根目录(pom.xml 所在的位置)。使用 Maven 打包到 WAR 时如何包含此文件?

我已经尝试添加:

<resources>
    <resource>
        <directory>/</directory>
        <includes>
            <include>ibm-credentials.env</include>
        </includes>
    </resource>
</resources>

但所做的只是排除 application.properties。

【问题讨论】:

  • 您可能不希望它位于项目的根目录,而是位于生成的 WAR 的根目录,对吧?
  • @JFMeier 是的。我相信是这样。我认为它应该在 WEB-INF 我不太确定。

标签: java maven spring-boot pom.xml war


【解决方案1】:

以下配置对我有用,如果它不包含您的属性文件,则将它们添加到包含中

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <webResources>
            <resource>
                <directory>Source Folder 1relative  path</directory>
                <targetPath>Target path in war</targetPath>
            </resource>

            <resource>
                <directory>Source Folder 2 relative path</directory>
                <targetPath>Target path in war</targetPath>
                <includes>
                    <include>*.extention</include>
                </includes>
            </resource>

        </webResources>
    </configuration>
</plugin>

【讨论】:

    【解决方案2】:

    您可以使用Apache Maven Assembly Plugin 创建战争文件。创建一个程序集描述符,其中包含要包含和排除的结构、格式和文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      • 2014-08-20
      • 2015-04-27
      相关资源
      最近更新 更多