4

我想使用Guava 的 TypeToken ,然后我从这里下载了 Guava Release 14.0 。(我假设 14.0 比 15.0 rc 更稳定。)

guava-14.0.1-sources.jar (Source) 
http://search.maven.org/remotecontent?filepath=com/google/guava/guava/14.0.1/guava-14.0.1-sources.jar

将下载的文件解压guava-14.0.1-sources.jar到一个文件夹中。

然后我在 Eclipse 中创建了一个 Java 1.7 项目。

并通过Java Build Path -> Source -> Link Source....

请注意,我没有使用(也不知道如何使用)任何构建系统,如 Maven。

首先我遇到了一个问题The import javax.annotation.Nullable cannot be resolved但这已经解决了。我按照这里的线程从这个页面下载jsr305-2.0.1.jar。(我假设 2.0.1 是最新版本。)

其次,我遇到了这样rt.jar access restriction的问题。这也可以通过简单地重新添加 JRE 系统库来解决,就像那里的答案一样。

现在我遇到了这个我无法解决的问题,并且没有来自网络的解决方案。

在包com.google.common.util.concurrentServiceManager中,有一些编译错误。

import javax.inject.Inject;         // The import javax.inject cannot be resolved
import javax.inject.Singleton;      // The import javax.inject cannot be resolved

据我了解,这是与“第一个问题”类似的问题。但是jsr305-2.0.1.jar包含javax.annotation.Nullable,却不包含javax.inject.*。我需要的是一个包含javax.inject.*.

能否请你帮忙?非常感谢!

4

2 回答 2

15

javax.inject包在 Java EE 中提供。如果您出于某种原因需要在 Java SE 中使用它,您可以显式地包含一个带有 APIinterface的 jar。Maven Central有一个实现的链接 ( javax.inject:javax.inject)。实际上使用 Maven 会让生活变得更简单,但您可以下载jar文件并手动包含它。

于 2013-09-04T14:25:06.777 回答
4

你可以在这里拿到javax.inject罐子。您不需要使用 maven,只需下载..jar

于 2013-09-04T14:24:21.897 回答