我在src / main / rescource中有一个名为extra-jars的文件夹,但是如何在构建中包含这些文件夹呢?我希望它们与其余的jar放在lib文件夹中。我尝试将它们包括在内,但那不起作用。
答案 0 :(得分:7)
对于未由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中复制文件的目标目录。答案 1 :(得分:2)
这些jar应该作为Maven依赖项添加,而不是将它们复制到lib文件夹中。这就是Maven的设计目的。