2011-07-18 17 views
5

Tüm sınıfları tek bir .jar dosyasında paketleyen ve daha sonra lib/klasöründe bu jar ile .war dosyası oluşturan, maven-war-plugin'de bir archiveClasses seçeneği vardır.Maven savaş eklentisi: arşivKaynak arşivleme olmayan kaynaklar

Aynı şeyi yapmalıyım, ancak kaynak dosyalarını sınıf dizinine bırakarak sınıf yolundan erişilebilmelerini ve değiştirilmelerini kolaylaştırırlar.

Bunu yapmanın en kolay yolu nedir?

cevap

0

Bu kaynakların yerini belirleyebilmeniz gerekir. Genellikle kaynaklar için src/main/kaynaklarında görünüyor, ama java kaynak ağacında bunları gerekirse deneyebilirsiniz:

+0

Hayır-hayır. Onlar tam olarak src/main/resources, ama sadece .war dosyası lib/dizin içinde .jar içinde olmalıdır iken .war dosyası içinde sınıflar/dizin içine paketlenmiş olmasını istiyorum. – weekens

4

Belki eklenti yapılandırmasında bir WebResource olarak kaynaklar klasörünü yapılandırmak için deneyebilirsiniz .

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <archiveClasses>true</archiveClasses> 
     <webResources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <targetPath>WEB-INF/classes</targetPath> 
       <filtering>true</filtering> 
      </resource> 
     </webResources> 
    </configuration> 
</plugin> 
+0

Çalışır, ancak kaynaklar bir kavanozda da çoğaltılır. – kolobok

0
sorunu çözmek için böyle yapabilirsiniz

:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <warName>${project.war.name}</warName> 
     <warSourceExcludes>**/*.class</warSourceExcludes> 
     <archiveClasses>true</archiveClasses> 
    </configuration> 
</plugin> 
2

Bir satır cevap:archiveClasses bayrak kullanılarak oluşturulan kavanozdan kaynakları dışlamak için maven-war-plugin sağlanan hiçbir seçenek vardır .

Bu sorunun olası ve en kolay çözüm src/main/java/webapp/WEB-INF/classes dizinine src/main/java/resources dizin altındaki mevcut dosyaları taşımaktır.

İlgili konular