1. Test Skip하고 싶다.

 - 오래걸리는 작업을 넘기고 싶다.


2. Skip하는 법

 1) 명령어

mvn [install....] -DskipTests 


or

mvn [install....] -Dmaven.test.skip=true


 2) pom.xml

<properties>
<maven.test.skip>true</maven.test.skip>
</properties>


'프로그래밍 > Maven' 카테고리의 다른 글

Maven Test Skip 하는 법  (0) 2018.04.17
[Maven] Plugin 개발하기.  (0) 2018.04.09
Maven Central에 Library Upload하기!!  (0) 2017.02.21
[MAVEN] Exec Maven Plugin 사용하기  (0) 2016.12.01

1. 프로젝트 세팅하기

 1) 참고

  - Maven 버전이 3버전 이상이여야 합니다.

  - IntelliJ 로 개발할 예정입니다.

 2) 세팅

     (1) maven-archetype-mojo 를 선택한다.




(2) 관련 정보를 입력한다.

      - GroupId : 그룹 아이디로 패키지와 일치시켜서 입력한다.

  - ArtifactId : 플러그인 이름으로 규칙이있다.

* maven-${name}-plugin : Maven에서 자체 개발한 플로그인 이름으로, 사용할 수 없다.

* ${name}-maven-plugin : Custom Plugin 명칭으로 해당 룰에 맞춰서 플러그인 이름을 만들면 된다.


(3) 관련 정보 확인.



(4) 생성된 패키지 확인



(5) pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>kr.geun.o</groupId>
<artifactId>sample-maven-plugin</artifactId>
<packaging>maven-plugin</packaging>
<version>1.0-SNAPSHOT</version>
<name>sample Maven Mojo</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.5.1</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>


(6) MyMojo.java <-- 클래스명은 변경해도 됩니다.

 - 아래에 있는 @Mojo(name = "sample") 은 Maven plugin의 Goal 입니다.

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Mojo;

@Mojo(name = "sample")
public class MyMojo extends AbstractMojo {

public void execute() throws MojoExecutionException {
getLog().info("Hello, World!!");
}
}

 3) 빌드하기

mvn clean install


2. 테스트용 프로젝트 세팅

 1) 신규로 프로젝트를 Maven 프로젝트를 세팅한다. 

  


 2) pom.xml 내에 추가

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

<groupId>kr.geun.mvn.test</groupId>
<artifactId>sample-mvn-plugin-test</artifactId>
<version>1.0-SNAPSHOT</version>

<build>
<plugins>
<plugin>
<groupId>kr.geun.mvn.plgn</groupId>
<artifactId>sample-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
</plugin>
</plugins>
</build>
</project>


 3) 실행

 - mvn {groupId}:{artifactId}:{version}:{plugin Goal}

mvn kr.geun.mvn.plgn:sample-maven-plugin:1.0-SNAPSHOT:sample


or

 - mvn {artifactId} 내에 있는 prefix값 (예를들어 위 내용에서는 sample이다):{plugin Goal}

mvn sample:sample



 4) 결과



* 참고 링크

 - http://maven.apache.org/guides/plugin/guide-java-plugin-development.html


'프로그래밍 > Maven' 카테고리의 다른 글

Maven Test Skip 하는 법  (0) 2018.04.17
[Maven] Plugin 개발하기.  (0) 2018.04.09
Maven Central에 Library Upload하기!!  (0) 2017.02.21
[MAVEN] Exec Maven Plugin 사용하기  (0) 2016.12.01

1. 개요

 - 개인 라이브러리를 메이븐 중앙 저장소에 올려, 다른 사람들과 손쉽게 공유할 수 있도록 한다.

 - https://bintray.com 와 같은 대행 서비스가 있다.

 - 저장소 관리 솔루션인 sonatype nexus 사에서 제공하는 OSSRH(Open Source Project Repository Hosting)가 있다. 이걸로 업로드 진행 할 예정.


2. 사전 작업

 1) 계정 생성

  - https://issues.sonatype.org/secure/Signup!default.jspa 에 접속한다.

  - 계정을 생성하고, 이슈를 등록한다.

  - "CREATE"를 눌러 이슈를 생성한다.

  - https://issues.sonatype.org/browse/OSSRH-28348 와 같이 입력한다. (project 이름, group Id, url 등 입력)

  - 생성 후 몇시간 또는 며칠이 지나면 이슈 상태가 "Resolved"로 변경되면, 댓글을 달아준다. 그럼 배포 준비 끝


 2) pom.xml 작업하기.

  - 저장소(scm), 개발자정보(), 라이센스 등 필수



 3) $HOME/.m2/settings.xml 에 아래 텍스트 추가


 

 4) snapshot deploy

  - version 항목에 -SNAPSHOT 붙인다.

mvn clean deploy


  - https://oss.sonatype.org/content/repositories/snapshots 에 본인 groupId를 들어가보면 확인 할 수 있다.


3. PGP 등록 및 Signing 하기

 - Maven 프로젝트 각각의 보안을 위해 PGP라는 정보를 통해 확인


 1) PGP 생성

  - https://www.gnupg.org/download/index.html 에서 제공하는 툴로 생성


 2) PGP 등록하기

  - 생성한 키는 http://pgp.mit.edu/ 사이트에 등록해야한다. 일부 툴은 업로드도 제공해준다.


4. 배포하기

mvn clean deploy


5. 스테이징에서 릴리즈하기

 - https://oss.sonatype.org/#welcome 에 접속하여 로그인한다.

 - Staging Repositories 에서 본인 프로젝트 확인

 - 내용 확인 후 "Close" 문제가 없으면 "Release"버튼 활성화 됨.


 - "Release"를 누르면 끝!


6. 확인

 - 10분정도 후에 릴리즈 되고

 - 2시간 정도 후면 검색이 됨.

 - http://search.maven.org/ 


7. 참고자료

 - https://www.lesstif.com/pages/viewpage.action?pageId=30277671

 - http://zerobrain.tistory.com/53

 - http://central.sonatype.org/pages/ossrh-guide.html

 - http://stackoverflow.com/questions/23235892/how-long-does-sonatype-staging-take-to-sync-my-artifacts-with-maven-central

 - https://www.youtube.com/watch?v=dXR4pJ_zS-0&feature=youtu.be


'프로그래밍 > Maven' 카테고리의 다른 글

Maven Test Skip 하는 법  (0) 2018.04.17
[Maven] Plugin 개발하기.  (0) 2018.04.09
Maven Central에 Library Upload하기!!  (0) 2017.02.21
[MAVEN] Exec Maven Plugin 사용하기  (0) 2016.12.01

Exec Maven Plugin을 사용하여 java project 실행하기.


1. pom.xml 


<build>

<plugins>

<plugin>

<groupId>org.codehaus.mojo</groupId>

<artifactId>exec-maven-plugin</artifactId>

<version>1.5.0</version>

<executions>

<execution>

<goals>

<goal>java</goal>

</goals>

</execution>

</executions>

<configuration>

<mainClass>kr.geun.runTest.App</mainClass>

<arguments>

<argument>arg1</argument>

<argument>arg2</argument>

</arguments>

</configuration>

</plugin>

</plugins>

</build>



2. Main Class

package kr.geun.runTest;


/**

 * Maven Exec Project Main Class

 * 

 * @author geunspage

 *

 */

public class App {

public static void main(String[] args) {

for (String arg : args) {

System.out.println(arg + "\\n");

}


System.out.println("Maven Exec Project Run!!!!");

}

}



3. RUN


 1) Argument 없이 실행


 - 명령어

mvn exec:java


 - pom.xml 내 arguments 가 출력된다.


 - 결과


2) arguments 옵션 주기


 - 명령어

mvn exec:java  -Dexec.args="zzzz tawetawetawet"


 - 결과



참고페이지

http://www.mojohaus.org/exec-maven-plugin/usage.html

'프로그래밍 > Maven' 카테고리의 다른 글

Maven Test Skip 하는 법  (0) 2018.04.17
[Maven] Plugin 개발하기.  (0) 2018.04.09
Maven Central에 Library Upload하기!!  (0) 2017.02.21
[MAVEN] Exec Maven Plugin 사용하기  (0) 2016.12.01

+ Recent posts