5

我有两个 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

这 ”。;” 一开始就在那里,所以我离开了他们。然后我将 jar 从它们的位置 C:\Eclipse projects\ 添加到项目中,它们显示为引用库。但是,当我尝试从 jar 中实例化一个类时,它无法识别它。我也无法导入 jar(导入 jar1)。

在我尝试在项目中添加一个 lib 文件夹并在那里添加罐子之后。之后,我再次将它们添加为引用(因此它们不会在引用库中出现两次),但是,我仍然无法使用内部类。任何帮助都感激不尽。

更新:我的结果一定有问题。没有任何建议对我有用。这是包含所有步骤的视频:screencast.com/t/gC81YzCsLY0e

解决方案在我的项目中,我有一个名为 TestProject 的包,似乎这些 jar 需要一个默认包。删除 TestProject 包并使用 defaultPackage 后,添加外部 JAR 后一切正常,如下所述。

4

4 回答 4

7

我今天遇到了和你一样的问题,网上没有答案可以解决。不过,我最后修好了。

其实设置没有问题,通过“Add External JARs”导入这些jar就对了。真正的问题是你的java代码的位置/包。我发现您必须将 .java 文件放在默认包中。例如,如果您将 java 代码放入 com.xxx.yyy.ccc 之类的包中,则会出现错误,下图显示了您应该使用的正确位置/包(参见 WTF.java)。完成后,您的程序将能够运行。

在此处输入图像描述

但是,这就是我解决问题的方法,我不确定这是否适用于所有人..

于 2013-05-23T09:18:31.707 回答
5

为什么不使用这两个 JAR——stdlib-package.jar 和 algs4-package.jar。

并在代码页下方(http://algs4.cs.princeton.edu/code/

问:如果我使用命名包来构造我的代码,编译器将无法再访问 stdlib.jar 或 algs4.jar 中的库。为什么不?

A. stdlib.jar 和 algs4.jar 中的库位于“默认”包中。在 Java 中,您不能从命名包访问默认包中的类。如果您需要将我们的库与命名包一起使用,您可以使用以下包版本:stdlib-package.jar 和 algs4-package.jar。

警告:如果您正在学习 Princeton COS 226 或 Coursera, Algorithms, Part I 或 II,您必须使用我们图书馆的默认软件包版本以方便评分。

显示我的测试成功: 显示我的测试成功

于 2014-01-12T16:02:33.823 回答
5

在 Eclipse 中,右键单击项目->属性->Java 构建路径->添加外部 JAR(如果 jar 在项目文件夹内,则添加 JAR),然后选择您的 jar 文件。从现在开始,您可以使用您添加的 jar 的内部类。当您开始使用它们时,Eclipse 将导入它们。

于 2012-08-27T19:26:32.730 回答
4

如果您的项目中有一个包含 JAR 文件的文件夹:

  1. 右键单击项目>构建路径>配置构建路径;
  2. 在“库”选项卡上单击添加 JAR,搜索并选择要使用的 JAR 文件。

如果您在项目之外的任何其他地方有您的 JAR 文件:

  1. 右键单击项目>构建路径>配置构建路径;
  2. 在“库”选项卡上单击添加外部 JAR,搜索并选择要使用的 JAR 文件。
于 2012-08-27T19:31:51.403 回答