【问题标题】:The very basics for using Guava [closed]使用番石榴的基础知识[关闭]
【发布时间】:2010-11-23 14:30:36
【问题描述】:

我完全用谷歌搜索了这个。但我发现的一切都是关于我所在的下一步。

我在离开很长一段时间后重返编程领域,并且是第一次学习 Java(和 OO)。我问了关于读取文件的问题,有人建议我不要为此尝试学习 Java 的扭曲,而是使用 Guava。谷歌搜索后,我大致了解了 Guava 是什么以及做了什么(真棒!)并下载了它。

然后我发现我实际上并不知道“使用番石榴”是什么意思。

我使用过导入(比如 junit,加上基本类,我不知道,Math 和其他东西),我希望它会是相似的。但我不知道,例如,将 Guava 放在哪个文件夹中,也不知道 Eclipse 是否会识别它。 (也许这是我唯一需要知道的事情?我也不知道。)

我在这里要求的是:我如何从对新技术(即 Guava 库)的认识转变为使用该技术在 Eclipse 中编写并执行代码?

【问题讨论】:

  • 你写的是简单的java项目还是java的web项目?
  • Examples 在番石榴中。
  • 我现在只写玩具项目,在我自己的电脑上运行。
  • 你应该从绝对基础开始——在你“学习”番石榴之前学习 java 以及它是如何构建的。否则你永远不会 a) 理解 eclipse 为你做了什么,b) 为什么你用番石榴做这件事的方式比每次都用手做更好。

标签: java guava


【解决方案1】:

番石榴样本用法

是的,使用 Guava 是个好主意,尤其是对于像 reading a file 这样的简单任务:

String contents = Files.toString(file, Charsets.UTF_8)

与这样的普通 java 版本相比:

BufferedReader in = null;
StringBuilder sb = new StringBuilder();
try {
    in = new BufferedReader(new FileReader(file));
    String str;
    while ((str = in.readLine()) != null) {
        sb.append(str).append('\n');
    }
} catch (IOException e) {
    // do something here
} finally{
    // and this should also be in a try / catch block
    if(in!=null)in.close();
}
return sb.toString();

(但实际上你需要开发 Java 多年才能真正体会到它的易用性,恕我直言。)

配置 Eclipse 以使用 Guava

在 Eclipse 中处理此类库最简单的方法是创建一个用户库并将该用户库添加到您的项目中(右键单击项目:Build Path -> Add Library -> User Library)。

以下是生成用户库的简短指南:

  1. 打开菜单项Preferences -> Java -> Build Path -> User Libraries
  2. New...,输入名称(例如“Guava”)
  3. Add JARs... 并搜索您下载的 JAR 文件
    (事先解压Guava archive,在里面你会找到文件guava-r07.jar。在这个对话框中选择它,最好在将它移动到更理想的位置之后)
  4. 现在选择Source Attachment -> Edit...,找到文件guava-src-r07的路径。
  5. 如果您愿意,可以对 JavaDoc 位置重复此过程,将其指向 guava 发行版中的 javadoc 文件夹
  6. 请按OK

现在您应该已准备就绪,您可以选择用户库并将其添加到您选择的项目中。

使用 Maven

为了完整性:作为 maven 依赖管理的倡导者,我当然建议使用 mavenm2eclipse 而不是用户库来管理项目依赖关系。

【讨论】:

  • 感谢您评论的回答部分(以“处理...的一种方法”开头)。
  • 这个问题没有答案。在 [Window ->]Preferences -> Java -> Build Path -> User Libraries 之后,有两个选项:New 和 Import。 Import 正在寻找 .userlibraries 之类的东西,Guava 下载似乎不包括这些内容。如果我选择“新建”,它可以让我输入“新库”的名称,但我不知道如何让它真正成为一个库。帮助文件也没有告诉我。
  • @Angela 我现在已经更详细地解释了。
  • Charset.UTF_8 似乎不是获取 Charset 对象的有效方法。你确定你说的不是StandardCharsets.UTF_8? (考虑到帖子的年代,这可能是语言更改。通过 StandardCharsets 访问 Charset 对象应该是有效的 - 使用 Java 8。)
  • @romnempire 实际上是Charsets.UTF_8,抱歉打错了。早在 Java 7 引入 StandardCharsetsclass 之前,Guava 中就已经存在该类
【解决方案2】:

正如 Sean 所提到的,我强烈建议您使用 Maven 来导入库。它使以后升级依赖项变得简单,一旦你安装了m2eclipse,Eclipse 就会为你挑选 Guava 库。在 Maven pom.xml 中“使用 Guava”所需要的只是依赖项部分中的以下内容。

 <dependency>
   <groupId>com.google.guava</groupId>
   <artifactId>guava</artifactId>
   <version>15.0</version>
 </dependency>

【讨论】:

    猜你喜欢
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多