我有两个jar文件 - jar1和jar2。它们都位于C:\ Eclipse projects \中,我已将它们的路径添加到环境变量CLASSPATH中,如下所示
.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip;C:\Eclipse projects\stdlib.jar;C:\Eclipse projects\algs4.jar
“。;”一开始就在那里,所以我离开了他们。然后我从它们的位置C:\ Eclipse projects \中将jar添加到项目中,它们显示为Referenced Libraries。但是,当我尝试从jar实例化一个类时,它无法识别它。我也无法导入jar(导入jar1)。
在我尝试在项目中添加lib文件夹后,我在那里添加了jar。之后,我再次将它们作为引用添加(因此它们在Referenced Libraries中不会出现两次),但是,我仍然无法使用内部类。任何帮助将不胜感激。
更新: 我的一切肯定是错的。这些建议都不适合我。这是一个包含所有步骤的视频:screencast.com/t/gC81YzCsLY0e
解决方案在我的项目中,我有一个名为TestProject的软件包,看起来这些jar需要一个默认软件包。删除TestProject包并使用defaultPackage后,一切都在添加外部JAR后正常工作,如下所述。
答案 0 :(得分:7)
我遇到了和你今天相同的问题,网上的答案都无法解决。但是,我终于修好了。
事实上,设置没有任何问题,通过“添加外部JAR”导入这些罐子是正确的。真正的问题是你的java代码的位置/包。我发现你必须把你的.java文件放在默认包中。例如,如果将java代码放在com.xxx.yyy.ccc这样的包中,则会出现错误,下面的图像显示了您应该使用的正确位置/包(请参阅WTF.java)。完成后,您的程序将能够运行。
然而,这就是我解决问题的方法,我不确定这对每个人都有用..
答案 1 :(得分:5)
在eclipse中,右键单击项目 - > Propeties-> Java Build Path->添加外部JAR(如果jar在项目文件夹中,则添加JAR)然后选择您的jar文件。 从现在开始,您可以使用您添加的jar的内部类。 Eclipse将在您开始使用它们时导入它们。
答案 2 :(得分:5)
为什么不使用这两个JAR-- stdlib-package.jar和algs4-package.jar。
在代码页下方(http://algs4.cs.princeton.edu/code/)
Q值。如果我使用命名包来构造我的代码,则编译器无法再访问stdlib.jar或algs4.jar中的库。为什么不呢?
一个。 stdlib.jar和algs4.jar中的库位于“默认”包中。在Java中,您无法从命名包访问默认包中的类。如果您需要将我们的库与命名包一起使用,您可以使用这些包版本:stdlib-package.jar和algs4-package.jar。
警告:如果你正在学习普林斯顿COS 226或Coursera,算法,第一部分或第二部分,你必须使用我们图书馆的默认包verison来促进评分。
显示我的测试成功:
答案 3 :(得分:4)
如果您有一个包含JAR文件的文件夹到项目中:
如果您的JAR文件存在于项目之外的任何其他位置: