我有一个名为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的评论也解决了我的问题。
答案 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.*