我想使用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。
首先我遇到The import javax.annotation.Nullable cannot be resolved
的问题。 但这已经解决了。我跟随线程here从jsr305-2.0.1.jar下载this page。 (我假设2.0.1是最新版本。)
其次,我遇到了像this one这样的rt.jar access restriction
问题。 这也解决了,只需重新添加JRE系统库,就像那里的答案一样。
现在我遇到了这个我无法解决的问题,并且没有来自网络的解决方案。
在包com.google.common.util.concurrent
类ServiceManager
中,存在一些编译错误。
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.*
。
答案 0 :(得分:12)
Java EE中提供了javax.inject
包。如果由于某种原因需要在Java SE中使用它,则可以显式包含一个包含API interface
的jar。 Maven Central有一个指向实施的链接(javax.inject:javax.inject
)。实际上使用Maven可以简化生活,但您只需下载jar
文件并手动包含它。
答案 1 :(得分:2)
您可以获得javax.inject
jar here。您不需要使用maven,只需下载.jar
。