Mój własny archetyp

Transkrypt

Mój własny archetyp
Saramak.eu
Mój własny archetyp
Autor: Administrator
poniedziałek, 03 listopad 2008
Tworzenie własnego archetypu
in english:
http://maven.apache.org/guides/mini/guide-creating-archetypes.html
Znudziło nam się ciągle dodawać potrzebne pliki, w konfiguracjach, ciągle przekopiowywać
potrzebne pliki konfiguracyjne ze starszych projektów. Zróbmy swój archetyp:
1. Stworzyć szkielet archetypu
mvn archetype:create -DgroupId=eu.saramak.archetype -DartifactId=jsf-archetype
Zapamiętajmy:
groupId=eu.saramak.archetype artifactId=jsf-archetype
2. archetype-resources
cd jsf-archetype
mvn eclipse:eclipse
dodajemy nowy source folder jeśli nie istnieje:
/src/main/resources
a w nim nowy katalog:
archetype-resources
W tym momencie utworzyliśmy najważniejszy, katalog archetypu.
Wszystkie pliki będą umieszczone w nim.
3. Tworzenie pom-a dla archetypu
W katalogu archetype-resources tworzymy plik pom.xml:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<packaging>war</packaging>
<version>${version}</version>
<name>A custom project</name>
<url>http://www.saramak.eu</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
http://saramak.eu
Powered by Joomla!
Wygenerowano: 4 March, 2017, 02:26
Saramak.eu
<scope>test</scope>
</dependency>
</dependencies>
</project>
tych wartości nie zmieniamy, maven wklei w te miejsca, dane podane przez użytkownika
${groupId}
${artifactId}
${version}
4. archetype.xml
w
archetype-resources/META-INF/maven/
tworzymy plik archetype.xml
<archetype>
<id>jsf-archetype</id>
<sources>
<source>src/main/java/App.java</source>
</sources>
<testSources>
<source>src/test/java/AppTest.java</source>
</testSources>
</archetype>
W pliku tym informujemy skąd maven ma brać źródła plików. zwróćcie uwagę iż id=artifactId w pom-ie
(artefactu)
inny bardziej rozbudowany archetype.xml
<archetype>
<id>jsf-archetype</id>
<sources>
<source>src/main/java/App.java</source>
</sources>
<resources>
<resource>src/main/resources/plik.xml</resource>
</resources>
<testSources>
<source>src/test/java/AppTest.java</source>
</testSources>
<testResources>
<resource>src/test/resources/plik.xml</resource>
</testResources>
<siteResources>
<resource>src/site/plik.xml</resource>
</siteResources>
</archetype>
<!-- <allowPartial>true</allowPartial> utwórz projekt nawet jeśli już taki istniaje, domyślnie
wyłączone i dobrze :) -->
</archetype>
Struktura plików
jsf-archetype
|-- pom.xml #{to pom naszego artefactu}
`-- src
`-- main
`-- resources
|-- META-INF
| `-- maven
http://saramak.eu
Powered by Joomla!
Wygenerowano: 4 March, 2017, 02:26
Saramak.eu
|
`--archetype.xml
`-- archetype-resources
|-- pom.xml #{pom tych programów które będziemy tworzyć }
`-- src
|-- main
| `-- java
|
`-- App.java
`-- test
`-- java
`-- AppTest.java
Gdy tak wyglądają już nasz projekt archetypu możemy zrobić:
mvn install
oraz spróbować stworzyć jakiś projekt za pomocą naszego archetypu:
mvn archetype:create -DarchetypeGroupId=eu.saramak.archetype
-DarchetypeArtifactId=jsf-archetype -DarchetypeVersion=1.0-SNAPSHOT
-DgroupId=pl.pixel.pl -DartifactId=program
A w plikach javy App.java, żeby nie krzyczało nam na package deklarujemy taki package:
package ${groupId};
http://saramak.eu
Powered by Joomla!
Wygenerowano: 4 March, 2017, 02:26