1

问题在标题中。我成功地先做一个罐子(项目包装罐子)....然后我在 id do 之前移动它

mvn 清洁

把它放在别处。

或者我是一个战争项目,所以我必须将项目打包重命名为战争,然后我必须做一个

mvn 干净安装

我得到了我的战争。然后我从我的战争中导入第一个要使用的罐子。

有没有更清晰的方法可以使用 maven shade 插件来生成 war 和 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>

包装如下

战争/罐子

在文件开头的项目描述中,每次我抛出 maven 时我都必须更改它。

谢谢

4

1 回答 1

0

对我来说,您正在尝试在同一个 Maven 模块中构建两个产品(一个 jar 和一个战争)。我真的不明白您要求在同一个模块中使用它吗?你为什么要使用 maven shade 插件?

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

  • 定义 2 个模块的父模块(包装“pom”):module_myjar 和 module_mywar
    • 一个子模块 module_myjar(包装“jar”)
    • 一个子模块module_mywar(包装“war”)这个模块可以包含jar作为依赖。
于 2016-01-16T16:35:32.537 回答