maven-shade-plugin:在我们处于战争状态时制作一个罐子吗? [英] maven-shade-plugin : make a jar whereas we are in war Project?

查看:117
本文介绍了maven-shade-plugin:在我们处于战争状态时制作一个罐子吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题在标题中. 我必须先做一个jar(项目包装jar)....然后在id执行之前将其移动

Question is in the title. I sucess to first to do a jar (project packaging jar)....then i move it before id do

mvn clean

mvn clean

将其保留在其他位置.

或者我在战争项目中,所以我必须将项目包装重命名为战争,然后我必须进行

Or i'm a in a war project so i have to rename project packaging to war then i have to do a

mvn全新安装

mvn clean install

我发动了战争.然后,我从战争中导入要使用的第一个罐子.

I got my war. I then import the first jar to use from my war.

有没有一种更清晰的方法可以使用maven shade plugin生成war和jar.

Is there a clearer way do that with maven shade plugin to generate both war and jar.

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
    <execution>
         <phase>package</phase>
        <goals>
             <goal>shade</goal>
        </goals>
        <configuration>
          <finalName>${project.artifactId}-final</finalName>

              <transformers>
                    <transformer  implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                            <mainClass>com.clb.genomic.lyon.external.MainExternal</mainClass>
                   </transformer>
                   <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                         <resource>META-INF/spring.handlers</resource>
                     </transformer>
                     <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                           <resource>META-INF/spring.schemas</resource>
                     </transformer>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>META-INF/spring.tooling</resource>
                  </transformer>
              </transformers>
        </configuration>
    </execution>
</executions>

包装遵循

war/jar

war/jar

在文件开头的项目描述中,每次我投掷Maven时我都必须更改它.

in project description at the begining of the file and i have to change it each time i throw maven.

谢谢

推荐答案

对我来说,您正在尝试在同一个Maven模块中构建两种产品(jar和war). 我真的不明白您要求在同一模块中使用它吗?以及为什么要使用Maven Shade插件?

for me you're trying to build two products (a jar and a war) in the same maven module. I don't really understand your requirement to have this in the same module? and why are you using maven shade plugin ?

这是我首先制作一个jar然后第二次使用先前刚生成的jar进行战争的方式:

Here is the way I would follow to first make a jar and second make a war that is using the previously just generated jar:

  • 定义2个模块的父模块(包装"pom"):module_myjar和module_mywar
    • 子模块module_myjar(包装"jar")
    • 一个子子模块module_mywar(包装"war"),该模块可以将jar作为依赖项.
    • a parent module (packaging "pom") that defines 2 modules : module_myjar and module_mywar
      • a child module module_myjar (packaging "jar")
      • a child submodule module_mywar (packaging "war") this module could includes jar as dependency.

      这篇关于maven-shade-plugin:在我们处于战争状态时制作一个罐子吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆