2013-08-30 2 views
2

Я использую maven3 как инструмент сборки и имею некоторые плагины. Вот моя настройка maven:Как развернуть войну с помощью автоматического buildnumber для tomcat с помощью плагина maven tomcat

<build> 
     <finalName>${project.artifactId}-${project.version}-${buildNumber}</finalName> 
     <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-war-plugin</artifactId> 
        <version>2.4</version> 
        <configuration> 
         <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes> 
         <archive> 
         <manifest> 
          <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
         </manifest> 
         <manifestEntries> 
          <Implementation-Build>${buildNumber}</Implementation-Build> 
         </manifestEntries> 
         </archive> 
        </configuration> 
       </plugin> 

       <!-- Build number auto increment --> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>buildnumber-maven-plugin</artifactId> 
        <version>1.2</version> 
        <executions> 
         <execution> 
         <id>buildnumber</id> 
         <phase>validate</phase> 
         <goals> 
          <goal>create</goal> 
         </goals> 
         </execution> 
        </executions> 
        <configuration> 
         <format>{0,number}</format> 
         <items> 
          <item>buildNumber</item> 
         </items>  
         <doCheck>false</doCheck> 
         <doUpdate>false</doUpdate> 
        </configuration> 
       </plugin> 

       <!-- Ignore/Execute plugin execution --> 
       <!-- copy-dependency plugin --> 
       <plugin> 
        <groupId>org.eclipse.m2e</groupId> 
        <artifactId>lifecycle-mapping</artifactId> 
        <version>1.0.0</version> 
        <configuration> 
         <lifecycleMappingMetadata> 
          <pluginExecutions> 
           <pluginExecution> 
            <pluginExecutionFilter> 
             <groupId>org.apache.maven.plugins</groupId> 
             <artifactId>maven-dependency-plugin</artifactId> 
             <versionRange>[1.0.0,)</versionRange> 
             <goals> 
              <goal>copy-dependencies</goal> 
             </goals> 
             <!-- 
             <configuration> 
              <outputDirectory>${catalina.home}/common/lib</outputDirectory> 
             </configuration> 
             --> 
            </pluginExecutionFilter> 
            <action> 
             <ignore/> 
            </action> 
           </pluginExecution> 
          </pluginExecutions> 
         </lifecycleMappingMetadata> 
        </configuration> 
       </plugin> 

       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <configuration> 
         <source>1.6</source> 
         <target>1.6</target> 
        </configuration> 
       </plugin> 
       <!-- webtools plugin to run the project in Tomcat. It also has republish functionality. --> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-eclipse-plugin</artifactId> 
        <version>2.9</version> 
       </plugin> 

       <!-- Codehaus mojo plugin to deploy, run the project in Tomcat --> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>tomcat-maven-plugin</artifactId> 
        <configuration> 
         <url>http://127.0.0.1:8080/manager</url> 
         <server>TomcatServer</server> 
        </configuration> 
       </plugin> 
</plugin> 

Я использую команду ниже при создании и развертывании в Tomcat.

mvn clean tomcat:redeploy 

Однако Tomcat плагин не может найти файл войны, потому что buildernumber плагин установить имя файла войны с приращением BuildNumber. Я хочу развернуть файл войны, используя плагин buildnumber. Как я могу исправить эту проблему? Ваш ответ будет оценен.

СВЯЗАННЫЕ: Visibility of buildnumber-maven-plugin property ${buildNumber}

ответ

0

Используйте 7 кота, с «##» tomcat7 можно использовать в качестве контекста aritfactId и версии, версии в котом.

<plugin> 
<groupId>org.apache.tomcat.maven</groupId> 
<artifactId>tomcat7-maven-plugin</artifactId> 
<version>2.2</version> 
<configuration> 
    <url>http://localhost:8080/manager/text</url> 
    <server>tomcatserver</server> 
    <path>/${project.artifactId}##${project.version}</path> 
</configuration> 
</plugin> 

части в П, которые используются в более чем один П, как «Maven-компилятор-плагине» поместить в родительском П и включает в себя во всех ваших POMS проекта.

Смежные вопросы