IntelliJ에서 편하게 Gradle 프로젝트를 작성하여 빌드하다가 Gradle을 공부한뒤 Eclipse에서 직접 Gradle 프로젝트를 만들고 Build를 해보기 위해 포스팅을 합니다~.
당연히 Gradle이 설치가 되어있어야 합니다
1. Gradle Project 생성
너무나 간단합니다 Gradle설치를 완료했으면 New -> Other을 클릭합니다.
Gradle을 검색한 뒤 Gradle Project
를 클릭하고 Next를 클릭합니다.
적절한 이름을 입력한 뒤 Finish를 클릭하면 생성이 완료됩니다. 너무 간단하죠?
2. Gradle을 이용해 Build하기
빌드를 하기전 우선 Test를 위해 Class 하나를 생성하겠습니다.
src/main/java
하위에 test
패키지를 생성한 뒤 GradleTest
Class를 생성하고 main메소드를 작성하여 Gradle Test
를 출력하도록 했습니다.
Main class 알려주기
Build를 하기전 해야할 일이 있습니다. 바로 Main Class가 무엇인지를 알려주어야 합니다. build.gradle
파일을 찾아 열어줍니다.
xplugins {
// Apply the java-library plugin to add support for Java Library
id 'java-library'
}
dependencies {
// This dependency is exported to consumers, that is to say found on their compile classpath.
api 'org.apache.commons:commons-math3:3.6.1'
// This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation 'com.google.guava:guava:23.0'
// Use JUnit test framework
testImplementation 'junit:junit:4.12'
}
// In this section you declare where to find the dependencies of your project
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
jar {
manifest {
attributes 'Main-Class':'test.GradleTest'
}
}
위와 같이 복잡한 설정이 보입니다. 다른것들은 우선 무시하고 제일 하단에 jar
관련 설정을 기입합니다. attributes 'Main-Class':'test.GradleTest'
줄을 해석하면 "MainClass는 test 패키지 하위의 GradleTest.java class에 존재한다"라는 의미입니다.
Build 하기
gradle을 이용한 Build는 간단합니다. Ecilpse 우측을 보면 Gradle Tasks
라는 탭이 보입니다. 바로 Groovy로 작성된 Gradle 파일들인데요 어떤 일들을 처리하기 위한 스크립트 파일들이라고만 알아두시면 될것 같습니다. 저희는 Build
를 위해서 build 디렉토리를 확장한 뒤 보이는 jar
를 더블클릭하여 실행시켜줍니다. 그러면 build가 완성됩니다.
배포 확인
jar
를 실행한 뒤 해당 프로젝트의 경로
로 이동하면 build
라는 디렉토리가 생긴것을 볼 수 있습니다. (build 하기 전에는 생성되지 않습니다!)
다시 해당 디렉토리 안에 존재하는 libs
디렉토리로 이동하면 우리가 생성한 Project의 이름을 가지는 jar
파일이 생성되어 있는 것을 볼 수 있습니다.
jar 실행하기
cmd창을 연뒤 jar
파일이 존재하는 경로로 이동합니다 (cd '경로') 그 후 java -jar "jar파일명"
명령어를 이용해 jar파일을 실행하면 됩니다.
'Language > Java' 카테고리의 다른 글
Java - Lambda Expression(람다식)이란? (2) | 2019.04.09 |
---|---|
Java - Json 과 Gson 이란? (0) | 2019.03.30 |
Java - 직렬화에 관해서(csv, json, java serializable) (0) | 2019.03.30 |
Java - JRE vs JDK (0) | 2019.01.08 |
Java - 상속 super (1) | 2019.01.05 |