繁体   English   中英

从Maven构建一个war和可执行jar

[英]Build a war and executable jar from maven

我目前正在将maven用于一个项目,并且尝试从同一POM文件构建可执行的jar文件和war文件。 在POM文件中,我将默认包装设置为war文件,并且下面有2个插件。 问题是两者都生成war / jar文件(取决于全局包装是什么)。 如何在同一POM.xml中创建Jar和war文件?

<plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-shade-plugin</artifactId>
       <version>3.2.1</version>
       <executions>
           <execution>
               <phase>package</phase>
               <goals>
                   <goal>shade</goal>
               </goals>
               <configuration>
                <packaging>jar</packaging>
                    <transformers>
                       <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                           <mainClass>main.java.com.test.Demo</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.ApacheLicenseResourceTransformer">
                       </transformer>
                       <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
                           <addHeader>false</addHeader>
                       </transformer>
                    </transformers>
              </configuration>
           </execution>
       </executions>
   </plugin> 

<plugin>            
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>3.2.2</version>
  <configuration>
    <packaging>war</packaging>
    <failOnMissingWebXml>false</failOnMissingWebXml>
    <webXml>src/main/webapp/WEB-INF/web.xml</webXml>    
  </configuration>
</plugin>

查看此https://stackoverflow.com/a/10863191并尝试使用jar插件。

我使用了类似的方法实现了您想要的功能,但是很遗憾,我现在无法访问该代码。

您使用什么maven命令来构建项目?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM