eclipse - 导入 Guava 源时无法解析导入 javax.inject

标签 eclipse import guava java

我想使用 Guava's TypeToken , 然后我从 here 下载了 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... 链接 Eclipse 中的源。

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

首先我遇到了一个问题无法解析导入javax.annotation.Nullable但这已经解决了。我关注了线程here下载jsr305-2.0.1.jar来自 this page . (我假设 2.0.1 是最新版本。)

其次,我遇到了 rt.jar 访问限制 问题,如 this one . 这也可以通过简单地重新添加 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.* 的 Java 库。

你能帮忙吗?非常感谢!

最佳答案

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

关于eclipse - 导入 Guava 源时无法解析导入 javax.inject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18616259/

相关文章:

c++ - 查找一个数字是否是其他数字的公倍数

java - 在 Java 中删除 XML 元素

python - 在 Python 中使用包名破坏枚举比较导入

java - 使用 Guava 的 ImmutableSortedMap 作为频率图

guava - 为什么Guava StandardTable put方法拒绝null值

命令行中的 java.lang.NoClassDefFoundError

java - 如何在表格布局中使用 richfaces 的自动完成功能?

node.js - 从父文件夹导入时,类型错误 : Super expression must either be null or a function, 未定义

import - 无法在Processing.js中导入ControlP5

java - 考虑到旧 key 的 Guava 缓存