2010-09-04 24 views
10

Maven ile oluşturulan web uygulamamın savaşını içeride kaynak kodu ile dağıtmak istiyorum. Bunu Maven ile nasıl yapmalı?Maven'de kaynak kodu ile nasıl bir SAVAŞ üretilir?

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <configuration> 
      <webResources> 
      <resource> 
       <directory>${build.sourceDirectory}</directory> 
       <targetPath>sources</targetPath> 
      </resource> 
      </webResources> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 

java kaynaklar savaşta bir sources dizine dahil edilecektir:

cevap

14

Mümkün konfigürasyon tanımla bir web kaynağı olarak kaynak dizini dahil etmek maven-savaş eklentisi olduğunu. Tabii ki kaynak dizini kendi maven düzeninize göre uyarlamalısınız.

0

Genellikle bu yol gider düşünüyorum: (Bu kaynak dosyaları dahil olmaz, ancak ayrı dosyalar olarak sağlar) Eğer sınıf olarak aynı dizinde kaynak dosyalarını istiyorsanız

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-source-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>attach-sources</id> 
        <goals> 
         <goal>jar</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>attach-javadocs</id> 
        <goals> 
         <goal>jar</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
2

dosyalar istersek:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <configuration> 
       <webResources> 
        <resource> 
         <directory>${build.sourceDirectory}</directory> 
         <targetPath>WEB-INF/classes</targetPath> 
        </resource> 
       </webResources> 
      </configuration> 
     </plugin> 
0

At savaş projesi en pom.xml:

<build> 
    ... 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <attachClasses>true</attachClasses> 
        <classesClassifier>classes</classesClassifier> 
       </configuration> 
      </plugin> 
      ... 
     </plugins> 
    </pluginManagement> 
</build> 

yılında İstediğiniz projeler bunu kullanır:

<dependency> 
    <groupId>my-war-group</groupId> 
    <artifactId>my-war-artifact-id</artifactId> 
    <version>my-war-version</version> 

    <classifier>classes</classifier> <!-- THIS IS THE IMPORTANT LINE! --> 
</dependency> 
İlgili konular