pluginler Nerede
Pluginler
Açıklaması şöyle. 3. şahıslar tarafından geliştirilen pluginler XXX-maven-plugin ismine sahip.
Bir plugin'in goal işlevini yerine getiren sınıf olarak düşünülebilir.
plugin ve komut satırı
Şöyle yaparız.
prefix ise artifactId'nin "-" karakteri atılmış halidir. artifactID şöyle olsun.
Örnek
generate-test-sources safhasında çalışması için şöyle yaparız.
phase ve goal vermek için şöyle yaparız.
Pluginler
.m2/repository/org/apache/maven/plugins/
dizininde. Örneğin deploy plugin şöyledir..m2/repository/org/apache/maven/plugins/maven-deploy-plugin
plugin isimleriAçıklaması şöyle. 3. şahıslar tarafından geliştirilen pluginler XXX-maven-plugin ismine sahip.
maven-${prefix}-plugin: This naming convention is restricted to the plugins developed by Maven.Mojo Nedir
${prefix}-maven-plugin: We can use this convention to create our custom plugins.
Bir plugin'in goal işlevini yerine getiren sınıf olarak düşünülebilir.
plugin ve komut satırı
Şöyle yaparız.
mvn groupId:artifactId:version:goal
mvn groupId:artifactId:goal
mvn prefix:goal
groupId:artifactId plugin'in bilgileridir.prefix ise artifactId'nin "-" karakteri atılmış halidir. artifactID şöyle olsun.
maven-resources-plugin
Şöyle yaparız.mvn resources:copy-resources
plugin ve life cycleÖrnek
generate-test-sources safhasında çalışması için şöyle yaparız.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<id>build-test-environment</id>
<phase>generate-test-sources</phase> <!-- generating source code -->
<!-- rest of config -->
</execution>
</executions>
<!-- rest of config, consider moving into specific execution -->
</plugin>
Örnekphase ve goal vermek için şöyle yaparız.
<executions>
<execution>
<id>add-test-sources</id>
<phase>process-test-sources</phase> <!-- do something with generated test sources -->
<goals>
<goal>add-test-source</goal>
</goals>
<!-- rest of config -->
</execution>
clean plugin
Örnek
Biz dizindeki dosyaları silmek için şöyle yaparız. Dizin silinmez.
Şöyle yaparız. Jar bağımlılıklarını temizleyip en baştan derler ve .m2 dizinine kurulum yapar.
Örnek
Şöyle yaparız.
Bu plugin'e Java derleyicinin sürümünü belirtmek için iki seçenek var. Ya <properties> tag'i içinde belirtiriz veya compiler plugin ayarları içinde belirtiriz.
Örnek
<properties> içinde tanımlamak için şöyle yaparız. Bu en çok kullanılan ve en basit yöntem
Şöyle yaparız
Elimizde Java 9 varsa ve Java 8'e göre derlemek istiyorsak şöyle yaparız.
Derleyiciye parametre geçmek istersek şöyle yaparız.
Biz dizindeki dosyaları silmek için şöyle yaparız. Dizin silinmez.
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>src/main/javascript/node_modules</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
Dizinleri de silmek için şöyle yaparız.<excludeDefaultDirectories>true</excludeDefaultDirectories>
ÖrnekŞöyle yaparız. Jar bağımlılıklarını temizleyip en baştan derler ve .m2 dizinine kurulum yapar.
maven clean install -DskipTests -Dmaven.compile.fork=true
Örnek
Şöyle yaparız. Bağımlılıkları çekmeden ve rf (resume from) ile daha önce kaldığı bir noktadan devam edermaven clean install -DskipTests -Dmaven.compile.fork=true --offline -rf:my-project
Şöyle yaparız.
mvn clean verify
compiler pluginBu plugin'e Java derleyicinin sürümünü belirtmek için iki seçenek var. Ya <properties> tag'i içinde belirtiriz veya compiler plugin ayarları içinde belirtiriz.
Örnek
<properties> içinde tanımlamak için şöyle yaparız. Bu en çok kullanılan ve en basit yöntem
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
Plugin ayarları içinde belirtmek için şöyle yaparız.<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
ÖrnekŞöyle yaparız
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
ÖrnekElimizde Java 9 varsa ve Java 8'e göre derlemek istiyorsak şöyle yaparız.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<release>8</release>
<verbose>true</verbose>
</configuration>
</plugin>
ÖrnekDerleyiciye parametre geçmek istersek şöyle yaparız.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<compilerArgs>
<arg>-verbose</arg>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
ejb plugin
Şöyle yaparız.
Şöyle yaparız.
<plugin>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<ejbVersion>3.2</ejbVersion>
</configuration>
</plugin>
install plugin
Örnek
3. parti bir jar dosyasını m2 repo'ya dahil edip pom üretmek için sözdizimi şöyle.
Örnek
3. parti bir jar dosyasını m2 repo'ya dahil edip pom üretmek için sözdizimi şöyle.
mvn install:install-file -DgroupId=<your_group_name> \
-DartifactId=<your_artifact_name> \
-Dversion=<version> \
-Dfile=<path_to_your_jar_file> \
-Dpackaging=jar \
-DgeneratePom=true
Şöyle yaparız.mvn install:install-file -Dfile=cobra.jar -DgroupId=com.cobra -DartifactId=cobra -Dversion=0.98.4 -Dpackaging=jar -DgeneratePom=true
tomcat plugin
Örnek
post-integration-test safhasında id'si shutdown olan hedef için şöyle yaparız.
mvn tomcat7:shutdown
ÖrnekŞöyle yaparız.
<!-- starts tomcat before test execution and stops after-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>run-tomcat</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>stop-tomcat</id>
<phase>post-integration-test</phase>
<goals>
<goal>shutdown</goal>
</goals>
</execution>
</executions>
<configuration>
<fork>true</fork>
<port>5555</port>
<path>/app</path>
</configuration>
</plugin>
Hiç yorum yok:
Yorum Gönder