【发布时间】:2014-07-19 20:08:10
【问题描述】:
我正在开发我的第一个 Java 应用程序。一位同事开始了它,但没有时间完成它。她是一位经验丰富的 Java 程序员,但我不是。但是,该应用程序足够小,看起来像是我可以作为我的第一个 Java 应用程序承担的项目(我确实使用 JVM 语言,如 Clojure,所以我对 JVM 世界有一些背景知识)。
我正在添加将我们的数据输出为 JSON 的功能。我想使用 Google 的 Gson 类:
http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.google.code.gson%22
com.google.code.gson
我的同事没有外部依赖项,所以她只是从命令行编译代码。现在我正在添加第 3 方依赖项,我想我应该切换到构建工具。我选择 Buildr:http://buildr.apache.org/extending.html
我决定下载构成 com.google.code.gson 的 3 个 Jar 文件:
gson-2.2.4-javadoc.jar
gson-2.2.4-sources.jar
gson-2.2.4.jar
我不确定如何将它们包含在我的 Buildr 项目中。
我使用“buildr”命令来建立 Buildr 喜欢的默认目录。但是第 3 方罐子没有明显的文件夹。
我尝试了我的构建文件的许多变体。我的最新版本是:
# 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 方罐子告诉 Builder?
【问题讨论】:
-
无关,但显然只需要
gson-2.2.4.jar来构建。