Java 从maven构建一个war和可执行jar

Java 从maven构建一个war和可执行jar,java,apache,maven,Java,Apache,Maven,我目前正在为一个项目使用maven,我正在尝试从同一POM文件构建一个可执行jar文件和一个war文件。在POM文件中,我将默认打包设置为war文件,我有下面的2个插件。问题是两者都需要生成war/jar文件(取决于全局打包是什么)。如何在同一POM.xml中创建Jar和war文件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>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>

org.apache.maven.plugins
maven阴影插件
3.2.1
包裹
阴凉处
罐子
main.java.com.test.Demo
META-INF/spring.handlers
META-INF/spring.schemas
错误的
org.apache.maven.plugins
maven战争插件
3.2.2
战争
错误的
src/main/webapp/WEB-INF/WEB.xml
看看这个,试着使用jar插件

我用类似的东西做了你想做的,但不幸的是,我现在没有访问该代码的权限


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

我使用的是mvn tomcat7:deployDon。每个工件都有一个模块。我只有一个工件,我正试图为其构建一个war和jar文件。您需要构建两个东西。为每个模块制作一个模块。这就是maven工作得最好的方式