繁体   English   中英

如何从Java中的外部库导入包?

[英]How to import packages from the external Library in Java?

我是一名 n00b 编码员。 我发现了一个有趣的图书馆,并试图开始玩弄它。 这不是很好。 这个库来自 99' 并使用 JUnit(我不熟悉)所以有很多令人困惑的东西。 但这似乎是我失败的根本原因。 也就是说,我在导入包时遇到了麻烦。

这个库有一个名为 StandardEvalTest.java 的测试。 我将其移动到 Java 主目录,现在我正在尝试使用 JUnit 启动它,但失败了。

在此处输入图像描述

这个 package 路径 org.pokersource.game.Deck 直接来自测试 StandardEvalTest.java 所在的目录。

在此处输入图像描述

我还将主要的 java 目录添加到 PATH 环境变量中。 我假设这将允许导入找到 package。

在此处输入图像描述

这两件事都没有帮助。 我还怀疑 Deck.java 和 Deck.class 可能还不够,我必须做一些工作才能从中创建一个 package。 但据我所知,根据 Oracle 文档,唯一需要的是 header 中的 package 名称。这似乎存在。

在此处输入图像描述

所以我没有动作了。 请帮忙!

PS:受@Dhrubo 的回答启发的一些附加信息:我正在尝试运行的测试确实位于库的主 java 文件夹中。 (我把它移到这里希望从这里运行时更容易找到包)

在此处输入图像描述

如果我尝试编译测试而不是使用 JUnit 运行它,他似乎无法找到 JUnit 类和其他 JUnit 相关内容。

在此处输入图像描述

[哦好吧我是个白痴! 别管我]

您应该在运行 StandardEvalTest.java 时包含 package,如下所示

javac -cp [类路径] org.pokersource.game.StandardEvalTest.java

并从 package 根目录运行它,我假设它是您要编译的自定义 java 文件。 您运行的目录应该是 package 目录的父目录。

** 我还看到,您正在尝试编译 StandardEvalTest.java 而不是 Deck.java... 然后检查您的 StandardEvalTest.java 文件是否存在于所需位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM