오픈소스를 공부하던 중에 샘플앱을 maven으로 빌드해야 했습니다. maven을 사용해보지 않아서 좀 찾아봤는데요. 제가 알아본 내용을 간단히 정리해보았습니다.
Java 샘플 앱을 만들고, 빌드하고, 실행해보는 순서로 설명하겠습니다.
프로젝트 생성
폴더를 만들고, HelloWorld.java
파일을 만듭니다.
$ mkdir -p src/main/java/hello
$ vim src/main/java/hello/HelloWorld.java
HelloWorld.java
에는 다음 내용을 입력합니다.
package hello;
public class HelloWorld {
public static void main(String[] args) {
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
Greeter.java
에는 다음 내용을 입력합니다.
$ vim src/main/java/hello/Greeter.java
package hello;
public class Greeter {
public String sayHello() {
return "Hello world!";
}
}
마지막으로 pom.xml
파일을 만듭니다.
$ vim pom.xml
pom.xml
는 Maven의 빌드 설정 파일입니다. 다음과 같은 내용을 입력합니다.
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-maven</artifactId>
<packaging>jar</packaging>
<version>0.1.0</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>hello.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
위 pom.xml
에서 가장 중요한 것은 아래 코드입니다. 자바코드가 처음 실행될 때 main이 실행되는 것은 모두 아실텐데요.
mainClass는 main이 위치한 클래스를 알려주는 것입니다. 이렇게 해야 jar를 실행할 때 main이 실행될 수 있습니다.
<mainClass>hello.HelloWorld</mainClass>
지금까지 모두 완료하였다면, 프로젝트는 다음과 같은 구조가 됩니다.
$ tree
.
├── pom.xml
└── src
└── main
└── java
└── hello
├── Greeter.java
└── HelloWorld.java
Maven 설치
빌드를 하기전에 먼저 Maven이 설치되어있는지 확인해야 합니다. mvn -v
로 설치되어있는지 확인해보세요.
dagger/examples/simple$ mvn -v
Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 1.8.0_222, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-65-generic", arch: "amd64", family: "unix"
설치가 안되어 있다면 다음 명령어로 설치를 해야 합니다.
$ sudo apt install maven
빌드
pom.xml
파일이 있는 위치에서 mvn package
명령어를 입력하시면 빌드가 되고 산출물은 동일 폴더에 생성됩니다.
dagger/examples/simple$ mvn package
pom.xml src
빌드가 완료되면 target
이라는 폴더에 빌드 산출물이 생성됩니다.
실행
jar파일을 실행해보면 다음과 같이 Hello world!
를 출력합니다.
$ java -jar target/gs-maven-0.1.0.jar
Hello world!
참고
Recommended Posts:
- SSH key 생성하고 GitHub에 등록
- GMT, UTC의 차이점
- AMP 사이트에 Facebook Comments(댓글) 달기
- Desktop AMP 버전에 Adsense 적용하기
- GoDaddy -> NameCheap 도메인 이전하기
- clean-css로 CSS 파일을 경량화(minify)하는 방법
- Selenium - 페이지 로딩이 완료될 때까지 기다리기 (python)
- X-Bows keyboard 구입 및 사용 후기
- 나에게 맞는 인체공학(ergonomic) 키보드 찾기
- Canary test(카나리아 테스트)라고 부르는 이유는 무엇인가요?
- Python3.7 Flask를 Google App Engine에 deploy하는 방법
- 자주 사용하는 GCP(Google cloud platform) 명령어 정리
- Nginx에서 Letsencrypt를 통해 SSL을 적용하는 방법