如何导入包中的jar文件?

我有一个名为stdlib-package的jar文件,这个jar文件中的.class文件都在edu.princeton.cs.introcs包中

例如,我想在我自己的代码中使用该jar文件中名为StdDraw的一个类

E:\ code是我当前的工作目录。 像其他条件一样,我创建了一个子目录bin \ edu \ princeton \ cs \ introcs来将stdlib-package放入

这是我的代码:

package com.david.test; import edu.princeton.cs.introcs.stdlib-package.*; // any problems here ? public class DrawTest { public static void main(String[] args) { StdDraw.line(0.5, 0.5, 1, 0.5); } } 

然后我将DrawTest.java放在src \ com \ david \ test中

要编译DrawTest.java ,我在命令行中键入命令:

 javac -d bin -cp bin\edu\princeton\cs\introcs\stdlib-package.jar src\com\david\test\DrawTest.java 

但它失败了:包edu.princeton.cs.introcs.stdlib_package不存在……

我搜索了很多时间,但还没有找到答案
谢谢你的帮助

编辑===
@ EJP的评论也解决了我的问题。

这应该是代码中所需的全部内容:

 import edu.princeton.cs.introcs.* 

然后你只需要确保jar在你的类路径上; 无论jar子的名称是什么,或者它在哪里都无关紧要。 如果它在您的类路径上,Java将加载它,并使用其中的文件的位置。

将jar移动到当前目录中的lib目录中,并执行类似的操作

 javac -cp lib\stdlib-package.jar src\com\david\test\DrawTest.javac 

你的导入是错误的。 .jar文件中没有这样的包。

 import edu.princeton.cs.introcs.*; 

但是,一般来说,这是一种不好的做法,你应该只导入你需要的东西:

 import edu.princeton.cs.introcs.StdDraw; 

我知道没有包含’stdlib-package’名称的包。

如果您使用的类的完全限定名称是edu.princeton.cs.introcs.StdDraw,则只需导入’edu.princeton.cs.introcs.StdDraw’

  import edu.princeton.cs.introcs.StdDraw 

如果要加载该包中的所有类

  import edu.princeton.cs.introcs.*