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

use*_*114 2 maven-2

我正在创建一个程序集packaging=war.我需要包含一些jar,这些jar已经在我的war(web-inf/lib)中的pom.xml中被声明为项目依赖项

我怎样才能做到这一点?

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

Rom*_*las 9

你能更准确吗?默认情况下,当您mvn clean installwar项目上运行该命令时,Maven 2将包含WEB-INF/lib目录中的所有依赖项,不包括具有范围test和的目录provided.


如果使用程序集创建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>
Run Code Online (Sandbox Code Playgroud)

(在这个例子中,我要求添加log4jcommons-lang依赖).对于每个依赖项,您需要指定groupId和artifactId.将自动检测有关您在pom.xml文件中设置的依赖项列表的版本.