2012-03-27 10 views
22

obecnie używam:zainstalować plik używając POM zamiast poleceń

mvn install:install-file -Dfile={path/to/my/legacy.jar} -DgroupId=horrible -DartifactId=legacy.jar -Dversion=1.2.3 -Dpackaging=jar 

importować stare starsze słoików do mojego repo. To działało dobrze i jest zalecanym podejściem. Wygląda na to, że można to zrobić za pomocą POM zamiast wiersza poleceń + skrypt, którego teraz używam. Myślę, że jest czystsze mieć:

mvn install:install-file 

i niech mój sklep repo szczegóły wersja zamiast przechowywać te informacje w skrypcie nie maven (co jest dziwne, Maven). Próbowałem odsłonić te ustawienia -D za pomocą znacznika ustawień, ale to nie zadziałało. Czy ktokolwiek inny próbował tego i sprawił, że działa?

+0

Może jestem brakuje punktu, ale dlaczego masz do skryptu to? Z pewnością wystarczy tylko raz zaimportować te starsze słoiki do repozytorium? – artbristol

+0

To tylko kwestia konserwacji, tak jest, jeśli musimy ponownie eksportować do repozytorium (z jakiegokolwiek powodu) eksportujemy z tym samym numerem groupId/wersji. – reccles

Odpowiedz

30

OK, odpowiadając na moje własne pytanie: P. Możesz to zrobić, definiując właściwości, początkowo zakładałem, że identyfikator groupId itp. Został automatycznie wyeksportowany jako właściwości, ale tak nie jest.

<?xml version="1.0" encoding="UTF-8"?> 
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.whatever</groupId> 
    <artifactId>Stuff</artifactId> 
    <version>1.2.3</version> 

    <description> 
    Description of why this horrible jar exists. 
    </description> 

    <properties> 
    <groupId>${project.groupId}</groupId> 
    <artifactId>${project.artifactId}</artifactId> 
    <version>${project.version}</version> 
    <packaging>${project.packaging}</packaging> 
    <file>mylegacy.jar</file> 
    </properties> 

    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-install-plugin</artifactId> 
     <executions> 
      <execution> 
      <phase>install</phase> 
      <goals> 
       <goal>install-file</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 

</project> 

Teraz można zainstalować plików za pomocą:

mvn install 

i ten pom.xml. Ja testowałem to z Maven 3 i nie 2.

wielu plików również zobaczyć Maven POM file for installing multiple 3rd party commercial libraries

+1

Dzięki za to. Dokładnie to, czego szukałem – mahonya

+4

Znalazłem również to, co może działać lepiej, jeśli masz wiele słoików: http://stackoverflow.com/questions/10802280/multiple-installinstall-file-in-a-single-pom-xml – mahonya

+0

w głosowaniu na opis :) – Rondo

Powiązane problemy