13 Eylül 2019 Cuma

maven pluginleri

pluginler Nerede
Pluginler
.m2/repository/org/apache/maven/plugins/
dizininde. Örneğin deploy plugin şöyledir.
.m2/repository/org/apache/maven/plugins/maven-deploy-plugin
plugin isimleri
Açı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.
${prefix}-maven-plugin: We can use this convention to create our custom plugins.
Mojo Nedir
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>
Örnek
phase 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.
<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 eder
maven clean install -DskipTests -Dmaven.compile.fork=true --offline -rf:my-project
Örnek
Şöyle yaparız.
mvn clean verify
compiler plugin
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
<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>
Örnek
Elimizde 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>
Örnek
Derleyiciye 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.
<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.
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
tomcat'i çalıştırıp war dosyasını deploy ederi
Ö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