Постройте войну и исполняемый кувшин из Maven - PullRequest
0 голосов
/ 22 декабря 2018

В настоящее время я использую maven для проекта и пытаюсь создать исполняемый файл jar и файл war из одного и того же файла POM.В файле POM я установил упаковку по умолчанию как файл war, и у меня есть 2 плагина ниже.Проблема заключается в том, что оба генерируют файл war / jar (в зависимости от глобальной упаковки).Как я могу создать файл Jar и war в одном файле POM.xml?

<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>

1 Ответ

0 голосов
/ 22 декабря 2018

Посмотрите на это https://stackoverflow.com/a/10863191 и попробуйте использовать плагин jar.

Я сделал то, что вы хотите, используя что-то подобное, но, к сожалению, у меня сейчас нет доступа к этому коду.

Какую команду maven вы используете для создания своего проекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...