如何导入包中的jar文件?

时间:2012-10-26 07:02:57

标签: java jar

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

例如,我想在我自己的代码中使用该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的评论也解决了我的问题。

3 个答案:

答案 0 :(得分:4)

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

import edu.princeton.cs.introcs.*

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

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

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

答案 1 :(得分:1)

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

import edu.princeton.cs.introcs.*; 

然而,一般情况下,这是一种不好的做法,你应该只导入你需要的东西:

import edu.princeton.cs.introcs.StdDraw;

答案 2 :(得分:0)

据我所知,没有包含'stdlib-package'名称的包。

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

     import edu.princeton.cs.introcs.StdDraw

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

     import edu.princeton.cs.introcs.*