在装配战中包含Maven依赖项?

时间:2009-10-14 11:12:48

标签: maven-2

我正在使用packaging=war创建一个程序集。 我需要包含一些罐子,这些罐子在我的战争中被宣布为pom.xml中的项目依赖项(web-inf/lib

我该怎么做?

编辑于15 / 10-  我的项目创建了很少的组件,其中一个组件应该提供类型战争的包装。 一些jar文件,它们是项目的依赖项(并已在pom.xml中声明)需要包含在WEB-INF下的war中。 我如何包含它们或如何指出它们到我的本地nexus存储库路径的路径?

1 个答案:

答案 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>

(在此示例中,我要求添加log4jcommons-lang个依赖项。 对于每个依赖项,您需要指定groupId和artifactId。系统会自动检测您在pom.xml文件中设置的依赖项列表。