2014-07-19 4 views
0

저는 첫 번째 Java 응용 프로그램을 만들고 있습니다. 동료가 시작했지만 끝낼 시간이 없었습니다. 그녀는 경험 많은 자바 프로그래머이지만 나는 아닙니다. 그러나이 앱은 작아서 처음 자바 앱으로 사용할 수있는 프로젝트처럼 보일 정도로 작습니다 (Clojure와 같은 JVM 언어로 작업하므로 JVM의 세계에 대한 배경 지식이 일부 있음).Buildr을 사용하여 타사 jar 파일을 가져 오는 방법은 무엇입니까?

JSON으로 데이터를 출력하는 기능을 추가했습니다. 나는 구글의 GSON 클래스를 사용하고 싶습니다 :

http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.google.code.gson%22

com.google.code.gson 그녀는 단순히 명령 줄에서 코드를 컴파일 그래서 내 동료가 어떤 외부 의존성이 없었다

. 이제 제 3 자 종속성을 추가하기 때문에 빌드 도구로 전환해야한다고 생각했습니다. http://buildr.apache.org/extending.html

내가 com.google.code.gson 구성하는 3 Jar 파일 다운로드하기로 결정했다 : 나는 Buildr을 선택

GSON-2.2.4-javadoc.jar을

GSON-2.2.4- sources.jar

GSON-2.2.4.jar

내 Buildr 프로젝트에 포함하는 방법을 잘 모르겠습니다.

"buildr"명령을 사용하여 Buildr이 선호하는 기본 디렉터리를 설정했습니다. 그러나 제 3 자 Jars를위한 확실한 폴더는 없습니다.

많은 빌드 파일을 시도해 보았습니다. 내 최신 반복은 다음과 같습니다

# Version number for this release 
VERSION_NUMBER = "1.0.0" 
# Group identifier for your projects 
GROUP = "buildr_fdg" 
COPYRIGHT = "2014, Open" 

GOOGLEGSON = ['gson-2.2.4-javadoc.jar', 'gson-2.2.4-sources.jar', 'gson-2.2.4.jar'] 

# Specify Maven 2.0 remote repositories here, like this: 
repositories.remote << "http://repo1.maven.org/maven2" 

desc "The Buildr_fdg project -- creating JSON object full of fake data since we don't have enough real data ." 
define "buildr_fdg" do 

    project.version = VERSION_NUMBER 
    project.group = GROUP 
    manifest["Implementation-Vendor"] = COPYRIGHT 
    compile.with GOOGLEGSON 
    resources 
    test.compile.with # Add classpath dependencies 
    package(:jar) 
end 

그러나 나는 이러한 오류를 얻을 :

buildr build 
(in /Users/cerhov/projects/openz/lofdg/buildr_fdg, development) 
Building buildr_fdg 
Compiling buildr_fdg into /Users/cerhov/projects/openz/lofdg/buildr_fdg/target/classes 
/Users/cerhov/projects/openz/lofdg/buildr_fdg/src/main/java/Main.java:8: package com.google.code does not exist 
import com.google.code.*; 
^ 
/Users/cerhov/projects/openz/lofdg/buildr_fdg/src/main/java/Main.java:27: cannot find symbol 
symbol : class Gson 
location: class com.company.Main 
    Gson gson = new GsonBuilder().setPrettyPrinting().create(); 
    ^
/Users/cerhov/projects/openz/lofdg/buildr_fdg/src/main/java/Main.java:27: cannot find symbol 
symbol : class GsonBuilder 
location: class com.company.Main 
    Gson gson = new GsonBuilder().setPrettyPrinting().create(); 
        ^
Note: /Users/cerhov/projects/openz/lofdg/buildr_fdg/src/main/java/Main.java uses or overrides a deprecated API. 
Note: Recompile with -Xlint:deprecation for details. 
3 errors 
Buildr aborted! 
RuntimeError : Failed to compile, see errors above 

(See full trace by running task with --trace) 
cerhov : 15:33:25 : ~/projects/openz/lofdg/buildr_fdg $ buildr build 
(in /Users/cerhov/projects/openz/lofdg/buildr_fdg, development) 
Building buildr_fdg 
Buildr aborted! 
RuntimeError : Don't know how to build task '/Users/cerhov/projects/openz/lofdg/buildr_fdg/com.google.code.gson' 

가 어떻게 내 제 3 자 항아리에 대해 Buildr을 알 수 있습니까?

+0

관련이 없지만 건물에는'gson-2.2.4.jar' 만 필요합니다. –

답변

2

Buildr 프로젝트에 종속성을 추가하는 가장 간단한 방법은 라이브러리의 "maven"좌표를 사용하는 것입니다. 그래서 당신이하고 싶은 것은 Buildr은 의존성을 다운로드하여 클래스 패스에 추가 것을 의미한다 중앙 받는다는에 대한 참조와 함께

GOOGLEGSON = ['com.google.code.gson:gson:jar:2.2.4'] 

이 같은 것을 함께 GOOGLEGSON 교체 믿습니다.