我正在使用packaging=war
创建一个程序集。
我需要包含一些罐子,这些罐子在我的战争中被宣布为pom.xml中的项目依赖项(web-inf/lib
)
我该怎么做?
编辑于15 / 10- 我的项目创建了很少的组件,其中一个组件应该提供类型战争的包装。 一些jar文件,它们是项目的依赖项(并已在pom.xml中声明)需要包含在WEB-INF下的war中。 我如何包含它们或如何指出它们到我的本地nexus存储库路径的路径?
答案 0 :(得分:9)
你能更准确吗?默认情况下,当您在mvn clean install
项目上运行war
命令时,Maven 2将包含WEB-INF/lib
目录中的所有依赖项,不包括范围为test
和{provided
的目录。 1}}。
如果使用assembly创建war文件,则会有assembly.xml
文件,该文件定义最终war文件的内容。在此文件中,您可以指定要包含的依赖项列表:
<assembly>
...
<dependencySets>
<dependencySet>
<includes>
<include>log4j:log4j</include>
<include>commons-lang:commons-lang</include>
...
</includes>
<unpack>false</unpack>
<outputDirectory>WEB-INF/lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
(在此示例中,我要求添加log4j
和commons-lang
个依赖项。
对于每个依赖项,您需要指定groupId和artifactId。系统会自动检测您在pom.xml
文件中设置的依赖项列表。