Gradle 에서 라이브러리 받을 경우 source 파일은 어떻게 보나요??

592 views
Skip to first unread message

금동준

unread,
Sep 23, 2013, 11:47:29 PM9/23/13
to ks...@googlegroups.com
안녕하세요. 추석 명절 잘 보내셨나요?
개인 프로젝트를 하면서 gradle을 이용하고 있습니다.
그러던 중 라이브러리에 있는 클래스 파일 소스들을 확인하고 싶어서
source Jar Attachment 라고 검색하여 해보았으나 잘 안되어 이렇게 질문을 올립니다.

apply plugin : 'eclipse-wtp'

eclipse {
    classpath {
        downloadSources = true
        downloadJavadoc = true
    }
}

위와 같은 식으로 추가를 하였거든요. Gradle Repository에 있는 라이브러리의 소스들을 확인할 수 없어요.

Jisung, Ahn

unread,
Sep 24, 2013, 5:09:04 AM9/24/13
to ks...@googlegroups.com
저 같은 경우 

/Users/XXX/.gradle/caches/artifacts-26/filestore/org.slf4j/slf4j-api/1.7.5

디렉토리를 보면
jar pom source

세개의 디렉토리가 있고 각각 라이브러리파일, pom 파일, 라이브러리 소스파일이 포함되어 있습니다. 

이클립스에서라면, attach 한후 한 디렉토리 위로 올라간후 source롤 들어가셔서 소스 jar 파일을 선택하시면 됩니다. 


2013. 9. 24., 오후 12:47, 금동준 <faw...@gmail.com> 작성:

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/ksug에서 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out을(를) 방문하세요.

KwonNam Son

unread,
Sep 24, 2013, 7:29:10 AM9/24/13
to ks...@googlegroups.com
해당 jar의 리포지토리에 원래 소스가 없는 것은 아닌지요?



2013년 9월 24일 오후 6:09, Jisung, Ahn <nar...@gmail.com>님의 말:



--
* 까먹지말자! http://kwon37xi.egloos.com

금동준

unread,
Sep 24, 2013, 9:57:12 AM9/24/13
to ks...@googlegroups.com
현재 저의 build.gradle 은 다음과 같습니다.
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'war'

sourceCompatibility = 1.6
version = '1.0'

jar {
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': version
}
}

repositories {
mavenCentral()
}

dependencies {
runtime 'commons-dbcp:commons-dbcp:1.4',
'commons-lang:commons-lang:2.6',
'org.jasypt:jasypt-spring31:1.9.1',
'jstl:jstl:1.2',
'junit:junit:4.11',
'log4j:log4j:1.2.17',
'org.lazyluke:log4jdbc-remix:0.2.7',
'javax.mail:mail:1.4.7',
'org.mybatis:mybatis:3.2.2',
'org.mybatis:mybatis-spring:1.2.0',
'mysql:mysql-connector-java:5.1.26',
'org.slf4j:jcl-over-slf4j:1.7.5',
'org.slf4j:slf4j-log4j12:1.7.5',
'org.apache.tomcat:servlet-api:6.0.37',
'org.springframework:spring-aop:3.2.4.RELEASE',
'org.springframework:spring-context-support:3.2.4.RELEASE',
'org.springframework:spring-jdbc:3.2.4.RELEASE',
'org.springframework:spring-test:3.2.4.RELEASE',
'org.springframework:spring-webmvc:3.2.4.RELEASE',
'org.springframework.security:spring-security-config:3.1.4.RELEASE',
'org.springframework.security:spring-security-taglibs:3.1.4.RELEASE',
'org.springframework.security:spring-security-web:3.1.4.RELEASE',
'org.springframework.security.oauth:spring-security-oauth:1.0.5.RELEASE',
'org.springframework.security.oauth:spring-security-oauth2:1.0.5.RELEASE',
'org.springframework.social:spring-social-twitter:1.0.5.RELEASE',
'org.springframework.social:spring-social-facebook-web:1.0.3.RELEASE',
'org.apache.tiles:tiles-jsp:3.0.1'
compile 'commons-dbcp:commons-dbcp:1.4',
'commons-lang:commons-lang:2.6',
'org.jasypt:jasypt-spring31:1.9.1',
'jstl:jstl:1.2',
'junit:junit:4.11',
'log4j:log4j:1.2.17',
'org.lazyluke:log4jdbc-remix:0.2.7',
'javax.mail:mail:1.4.7',
'org.mybatis:mybatis:3.2.2',
'org.mybatis:mybatis-spring:1.2.0',
'mysql:mysql-connector-java:5.1.26',
'org.slf4j:jcl-over-slf4j:1.7.5',
'org.slf4j:slf4j-log4j12:1.7.5',
'org.apache.tomcat:servlet-api:6.0.37',
'org.springframework:spring-aop:3.2.4.RELEASE',
'org.springframework:spring-context-support:3.2.4.RELEASE',
'org.springframework:spring-jdbc:3.2.4.RELEASE',
'org.springframework:spring-test:3.2.4.RELEASE',
'org.springframework:spring-webmvc:3.2.4.RELEASE',
'org.springframework.security:spring-security-config:3.1.4.RELEASE',
'org.springframework.security:spring-security-taglibs:3.1.4.RELEASE',
'org.springframework.security:spring-security-web:3.1.4.RELEASE',
'org.springframework.security.oauth:spring-security-oauth:1.0.5.RELEASE',
'org.springframework.security.oauth:spring-security-oauth2:1.0.5.RELEASE',
'org.springframework.social:spring-social-twitter:1.0.5.RELEASE',
'org.springframework.social:spring-social-facebook-web:1.0.3.RELEASE',
'org.apache.tiles:tiles-jsp:3.0.1'
}

test {
systemProperties 'property': 'value'
}

uploadArchives {
repositories {
  flatDir {
  dirs 'repos'
  }
}
}

compileJava.options.encoding = 'UTF-8'

webAppDirName = '/webapp'

그리고 권남님 이 경로가 맞는지는 모르겠으나 아래와 같이 각 라이브러리별 경로에 jar 파일이 있습니다.
C:\Users\KDJ\.gradle\caches\artifacts-23\filestore\aopalliance\aopalliance\1.0\source\4a4b6d692e17846a9f3da036438a7ac491d3c814\aopalliance-1.0-sources.jar

혹시 이클립스에서 따로 작업을 해줘야 하는 건가요??

Jisung, Ahn

unread,
Sep 24, 2013, 11:08:06 PM9/24/13
to ks...@googlegroups.com
저의 경우 자동 소스 attach는 이클립스에서 못해주는거 같습니다.  일단 수동으로 attach 해주세요 

대신 한번 attach해두면 계속  사용은 하더군요. 

2013. 9. 24., 오후 10:57, 금동준 <faw...@gmail.com> 작성:

Jisung, Ahn

unread,
Sep 24, 2013, 11:29:44 PM9/24/13
to ks...@googlegroups.com
2013. 9. 24., 오후 10:57, 금동준 <faw...@gmail.com> 작성:

KwonNam Son

unread,
Sep 25, 2013, 1:10:28 AM9/25/13
to ks...@googlegroups.com
이클립스에서 소스 보는게 그렇게 어려운 작업이지 않았습니다.

gradle cleanEclipse eclipse 실행한 뒤 eclipse에서 refresh 한 번 해보시기 바랍니다.

안되면 gradle 버전 변경 등을 시도해보는게 나아보입니다.



2013/9/25 Jisung, Ahn <nar...@gmail.com>

금동준

unread,
Sep 30, 2013, 10:32:05 PM9/30/13
to ks...@googlegroups.com
답변 감사합니다. 몇 가지 궁금한 점이 있는데요.

apply plugin: 'java'
apply plugin: 'eclipse-wtp'
확인해보니 위와 같이 플러그인 2개만 넣고 gradle refresh All 을 하니 소스를 볼 수 있었습니다.

그런데 문제는 이렇게 하니 tomcat에 프로젝트를 add할려 하니 There are no resources that can be added or removed from server. 라는 경고가 뜨면서 추가할 수 없습니다.

또 다른 문제는 apply plugin: 'war' 를 함께 작성하였을 경우 소스를 볼 수 없게 되구요.

apply plugin: 'java'
apply plugin: 'eclipse-wtp' 

위와 같이두개만 작성할 경우 서버에 프로젝트를 추가하려면 뭔가 다른 명령어를 작성해야 하나요?
아니면 
apply plugin: 'java'
apply plugin: 'eclipse-wtp' 
apply plugin: 'war'
세 가지 모두 작성시에도 소스를 확인할 수 있는지요. 있다면 방법은 어떻게 되는지 알려주시면 감사하겠습니다~^^

2013년 9월 25일 수요일 오후 2시 10분 28초 UTC+9, 권남 님의 말:
Reply all
Reply to author
Forward
0 new messages