Gradle 설정
'JAVA_HOME' needs to point to a JDK installation, not a JRE. On Windows this should be something likeC:\Program Files\Java\jdk1.8.0.
시스템 변수 >
JAVA_HOME > C:\Program Files\Java\jdk1.7.0_67
GRADLE_HOME > C:\gradle-2.4
Gradle을 생성할 프로젝트 Root에서 작업 (build.gradle 없을때)
gradle init --type java-library
환경변수와 시스템변수의 차이점
환경변수는 크게 사용자변수와 시스템변수로 나뉩니다.
사용자변수 = 다수의 사용자계정에 대해선 아실거라 생각하고, 사용자 변수는 그 사용자의 계정내에서만 적용되는 변수입니다.
즉, 해당 사용자 계정으로 컴퓨터 로그온시에만 적용되는 변수이죠. 함수로 따지면 일종의 지역변수랄까요?
시스템변수 = 시스템변수는 시스템전반에 걸쳐 적용되는 변수입니다. 즉, 다른 계정으로도 해당 변수를 사용할 수 있는것이죠.
간단한 예를들면,
JAVA_HOME설정이 사용자1 변수에 있다면,
사용자1로 로그온시,
cmd 입력란에 javac , java 명령어를 사용할 수 있음.
사용자2로 로그온시,
cmd 입력란에 javac, java 명령어를 사용할 수 없음.
사용자3로 로그온시,
cmd 입력란에 javac, java 명령어를 사용할 수 없음.
JAVA_HOME설정이 시스템 변수에 있다면,
사용자1로 로그온시,
cmd 입력란에 javac , java 명령어를 사용할 수 있음.
사용자2로 로그온시,
cmd 입력란에 javac, java 명령어를 사용할 수 있음.
사용자3로 로그온시,
cmd 입력란에 javac, java 명령어를 사용할 수 있음.
dependencies {
compile 'org.slf4j:slf4j-api:1.7.5'
testCompile "junit:junit:4.11"
providedCompile 'javax.servlet:servlet-api:3.1'
providedRuntime 'webcontainer:logging:1.0'
}
* compile : compile시에 필요한 dependency를 설정한다.
* testCompile : test 시에 필아한 dependency를 설정한다.
* providedCompile : compile시에는 필요하지만, 배포시에는 제외될 dependency를 설정한다. (war plugin이 설정된 경우에만 사용 가능하다)
* providedRuntime : runtime시에만 필요하고, 실행환경에서 제공되는 dependency를 설정한다. (war plugin이 설정된 경우에만 사용 가능하다)
4. gradle build sequence
* compileJava : java compile
* processResources : resources로 지정된 file 처리 - jar를 만들기 위해 build folder로 copy등의 절차를 취한다
* classes : classes directory를 구성한다. compileJava를 통해 compile된 class객체와 resource들을 취합한다.
* jar : 모인 파일들을 이용해서 jar를 구성한다.
* compileTestJava : test code를 구성한다.
* processTestResources : test resources를 구성한다.
* testClasses : 앞 두과정을 통해서 모여진 파일들을 처리한다.
* test : testClass를 실행해서 JUnit/TextNG 결과를 도출시킨다.
Gradle에 디펜던시는 build.gradle 파일에 다음과 같이 추가할 수 있다.
dependencies {
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.3.3'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
이클립스 (Eclipse)에서 메이븐 (Maven) 디펜던시를 추가하면 바로 Maven Dependencies 항목에 나타나는 것처럼
Gradle Dependencies 항목에 나타날 것을 기대했다면 당황할 수 있다.
다음과 같이 해야만 Gradel Dependencies 항목에 나타난다.
Gradle -> Refresh Dependences
@에러 메시지
Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable to point to the according directory.
Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.10-bin.zip'.
JAVA_HOME 환경변수(이미 셋팅돼있을테고) 와 관련없음.
@ 해결책
Eclipse에서
Window -> Preferences -> Gradle -> Arguments
1. Workspace JRE
2. Configure JREs
3. ADD - Standard VM4. JDK 추가
4. 추가한 JDK를 선택 (JRE 선택하면 안됨)
'개발자' 카테고리의 다른 글
Apache Tomcat 8 - Class Loader HOW-TO (0) | 2016.02.29 |
---|---|
Spring MVC – View 렌더링 시 발생한 오류 잡기 (0) | 2016.01.21 |
[MySql] 원격접속 설정 For Mac (0) | 2014.03.05 |
[PHP] Phalcon Framework 환경 구성 과정 (Mac OS X) (0) | 2014.01.14 |
[DB] Nested Loop Join, Hash Join (0) | 2013.08.09 |