2011-05-16 10 views
5

Vinyet Portalına konuşlandırmak için bir eser üretmek için Maven'i kullanmaya çalışıyorum. Paketleme tam olarak bir war yapıtıyla aynıdır, ancak dosya bunun yerine car uzantısına sahip olmalıdır.Araba uzantısı ile Maven savaş artefaktı

Seçenekler Denedim ve tamamlayamadım.

  • Kullanım savaş eklentisi ve son objeyi adlandırmak
  • yeni ambalaj türü oluşturun (uzantısı .car .zip değiştirmek mümkün değildir) fermuar tanımlayıcısı ile
  • Kullanım montaj eklentisini (.war uzantı ekleyerek tutar) here .car dosyası oluşturmak için en kolay 'Maven'in' yol olacağını

(.car uzantısı için savaş eklenti kullanamazsınız) açıklandığı gibi? Bana rehberlik edebilir misiniz?

Teşekkür ederiz.

cevap

7

Bir projenin ana teslim edilebilir nesnesini yeniden adlandırmanın mümkün olmadığını düşünüyorum. Her neyse, geçmişte, bugüne kadar yaptığım şey, maven'in dosyayı yeni bir adla kopyalamasını ve sonra onu bir yapının çıktılarına "eklemesini" sağlamaktı; İki eklentileri yapılandırarak:

  • maven-ant-run
  • maven-build-helper projemin ana eser ile birlikte benim repoya konuşlandırılacak amacıyla takmak için kopyalamak.

    <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-antrun-plugin</artifactId> 
        <executions> 
        <execution> 
         <phase>package</phase> 
         <configuration> 
          <target> 
          <copy file="${project.build.directory}/${project.build.finalName}.war" 
           tofile="${project.build.directory}/${project.build.finalName}.car" /> 
          </target> 
         </configuration> 
         <goals> 
         <goal>run</goal> 
         </goals> 
         </execution> 
        </executions> 
    </plugin> 
    

İkincisi:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>attach-instrumented-jar</id> 
      <phase>verify</phase> 
       <goals> 
       <goal>attach-artifact</goal> 
       </goals> 
     <configuration> 
       <artifacts> 
        <artifact> 
        <file>${project.build.directory}/${project.build.finalName}.car</file> 
        <type>car</type> 
        </artifact> 
       </artifacts> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 

ben size yardımcı olabilir umuyoruz. En azından daha iyi bir çözüm bulana kadar.

+0

İlk örnekte, '' yapılandırma '' yerine '' görev '' yerine '' yapılandırma '' alt öğesiyle çalışmak benim için daha yeni bir antrun versiyonu yüzünden çalışıyor? –

+0

@jaime evet, muhtemelen. – mschonaker

+0

@jaime MOJO belgelerini kontrol edin, 'görev' yerine 'görev' lehine önerildi. http://maven.apache.org/plugins/maven-antrun-plugin/run-mojo.html – mschonaker

İlgili konular