gradle로 자바 빌드하기 1/2
위 글에 이어집니다.
HelloWorld.java를 다음과 같이 수정합니다.
package hello;
import org.joda.time.LocalTime;
public class HelloWorld {
public static void main(String[] args) {
LocalTime currentTime = new LocalTime();
System.out.println("The current local time is: " + currentTime);
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
joda의 LocalTime 클래스를 사용합니다.
이 상태에서 gradle build 를 실행하면 다음과 같은 에러 메시지를 만나게 됩니다.
gradle build
:compileJava
/Users/kenu/tmp/gradle-start/src/main/java/hello/HelloWorld.java:3: error: package org.joda.time does not exist
import org.joda.time.LocalTime;
^
/Users/kenu/tmp/gradle-start/src/main/java/hello/HelloWorld.java:7: error: cannot find symbol
LocalTime currentTime = new LocalTime();
^
symbol: class LocalTime
location: class HelloWorld
/Users/kenu/tmp/gradle-start/src/main/java/hello/HelloWorld.java:7: error: cannot find symbol
LocalTime currentTime = new LocalTime();
^
symbol: class LocalTime
location: class HelloWorld
3 errors
:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 3.239 secs
build.gradle 파일에 필요한 jar 파일을 명시합니다.
apply plugin: 'java'
repositories { mavenCentral() }
dependencies {
compile "joda-time:joda-time:2.2"
}
다시 gradle build 를 실행하면 joda-time-2.2.jar 파일을 인터넷을 통해 maven central 저장소에서 자동으로 다운로드 받아서 빌드합니다.
gradle build
:compileJava
Download http://repo1.maven.org/maven2/joda-time/joda-time/2.2/joda-time-2.2.pom
Download http://repo1.maven.org/maven2/joda-time/joda-time/2.2/joda-time-2.2.jar
:processResources UP-TO-DATE
:classes
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build
BUILD SUCCESSFUL
Total time: 7.106 secs
maven과 다르게 로컬에 jar를 관리하는 폴더는 .m2가 아닌 .gradle 폴더입니다.
./.gradle/caches/artifacts-26/filestore/joda-time/joda-time/2.2/jar/a5f29a7acaddea3f4af307e8cf2d0cc82645fd7d/joda-time-2.2.jar
행복하세요.