【问题标题】:packaging a JAR file in root of WAR archive using maven使用 maven 在 WAR 归档的根目录中打包 JAR 文件
【发布时间】:2018-09-06 04:40:09
【问题描述】:

我正在尝试使用 maven 自定义 WAR 归档生成,使某个客户端 jar 位于 war 文件的根目录,而不是默认的 WEB-INF/lib 目录

我使用 maven-dependency-plugincopy 目标将此 jar 复制到位置 ${project.build.directory}${file.separator}${project.artifactId}-${project.version} 这将按预期复制它,即 target/mywar-1.0-SNAPSHOT 文件夹

\-target
   |-mywar-1.0-SNAPSHOT
       |-WEB-INF
           |-lib
           |-classes
       |-something.jsp
       |-other-jar-1.0-SNAPSHOT.jar

但是,当 maven 构建生成 WAR 存档时,此 JAR 不包含在 WAR 存档根目录中的打包中。如何使用 maven 获得以下 WAR 存档结构?

\-mywar-1.0-SNAPSHOT.WAR
   |-WEB-INF
       |-lib
       |-classes
   |-something.jsp
   |-other-jar-1.0-SNAPSHOT.jar

请注意,这个其他 jar 应该与 WEB-INF 不在其中。

【问题讨论】:

    标签: java maven


    【解决方案1】:

    我认为 war 插件从 src 目录而不是目标目录获取输入。请参阅war-mojo docs

    this howto on how to add additional resources into the war 文件可能会有所帮助。

    【讨论】:

    • 感谢@wemu 的帮助!我不得不通过maven-assembly-plugin 破解我的方式以在根目录下重新捆绑带有 JAR 存档的 WAR,我没有尝试的额外资源是因为要复制的 JAR 本质上是在依赖项中,所以我必须首先使用 @987654324 @ 将其移动到某个目录,然后通过 resources 添加;使用汇编对我来说似乎更简单。
    猜你喜欢
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 2013-11-17
    • 1970-01-01
    • 2014-03-06
    相关资源
    最近更新 更多