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. Logstash란?

 - 입력(input), 필터(filter), 출력(output) 3단계로 구성되어 있고, 다양한 플러그인이 있어 여러 상황에서 사용하기 편함.

 - ex) 로그수집 등


2. Logstash 설치

 1) Centos 7기준

(1) java 설치 여부 확인

java -version


 - 아래와 같이 나오면 설치되어 있는 것이고, 아닐 경우 jdk 설치를 먼저 진행하세요.

java version "1.8.0_151"

Java(TM) SE Runtime Environment (build 1.8.0_151-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)


(2) Logstash 다운로드

 - wget으로 받아야하므로, wget 설치 필요

wget 'https://artifacts.elastic.co/downloads/logstash/logstash-6.2.0.tar.gz'


 - 압축풀기

tar -xvf ./logstash-6.2.0.tar.gz


 - 링크설정

ln -s logstash-6.2.0 logstash


 - 다운받은 tar.gz 파일 삭제

rm -rf ./logstash-6.2.0.tar.gz


- 확인

logstash -e ‘input { stdin { } } output { stdout {} }’


3. Logstash 설정

- aws ec2를 프리티어로 사용할 경우나, 메모리가 부족할 경우에만 설정하세요.

 1) JVM 메모리 설정

vi ~/logstash/config/jvm.options


 2) config 수정

-Xms128m

-Xmx128m



4. 플러그인 

 1) 플러그인 리스트 확인

bin/logstash-plugin list

bin/logstash-plugin list --group input 


 2) 플러그인 설치

bin/logstash-plugin install #{플러그인명}


 3) 플러그인 업데이트

bin/logstash-plugin update 

bin/logstash-plugin update #{플러그인명}


 4) 전체플러그인 목록

(1) INPUT : 바로가기

(2) FILTER : 바로가기

(3) OUTPUT : 바로가기



* 참고페이지

 - https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

 - https://www.elastic.co/guide/en/logstash/current/installing-logstash.html

1. Lombok

  - Preferences > Plugins > Browse repositories... > "Lombok" > Install > restart




2. Jrebel

  - Preferences > Plugins > Browse repositories... > "Jrebel" > Install > restart


3. Grep Console

  - Preferences > Plugins > Browse repositories... > "Grep Console" > Install > restart



4. SVN Disconnect



+ Recent posts