【发布时间】:2014-04-07 12:45:18
【问题描述】:
我在 src/main/recource 中有一个名为 extra-jars 的文件夹,但是如何将它们包含在构建中?我希望它们与其余的罐子一起放在 lib 文件夹中。我尝试通过 将它们包括在内,但没有奏效。
【问题讨论】:
标签: maven web-applications jar build-process
我在 src/main/recource 中有一个名为 extra-jars 的文件夹,但是如何将它们包含在构建中?我希望它们与其余的罐子一起放在 lib 文件夹中。我尝试通过 将它们包括在内,但没有奏效。
【问题讨论】:
标签: maven web-applications jar build-process
对于不是由 Maven 存储库分发的 jar,最简单的方法是将额外的 jar 放在项目的 src/main/webapp/WEB-INF/lib 目录中。 Maven 将按照惯例,将 src/main/webapp 下的所有内容包含在最终的战争工件中。
另一种方法是使用Maven War Plugin。它可以通过插件配置add additional files到最终的战争神器。
在 POM 的构建部分添加如下内容:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webResources>
<resource>
<directory>src/main/resource/extra-jars</directory>
<includes>
<include>*.jar</include>
</includes>
<targetPath>WEB-INF/lib</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
<configuration> 部分是添加其他文件的关键。
<directory> 元素定义资源的源位置。该路径相对于pom.xml。<includes> 元素定义要包含在上述目录中的哪些文件。<targetPath> 元素定义文件复制到的 WAR 中的目标目录。【讨论】:
这些 jars 应该作为 Maven 依赖项添加,而不是通过将它们复制到 lib 文件夹中。这就是 Maven 的设计目的。
【讨论】: