我自己制作jar文件,并使用。但是出了点问题,请指教

bryantd 2006-04-01 10:00:42
我想将自己写的类文件打包成一个.jar文件,方便自己以后编写其他类文件时候使用。我的所有操作步骤如下:
1、编写自己的类库,将所有类加上报名package bryantd.javatools
比如这个类库中的一个文件是这样的:
//MyTool.java

package bryantd.javatools;

public class MyTool{
public MyTool(){
System.out.println("An object of MyTool class in the package bryantd.javatools");
}
}

这个文件的物理位置为:d:\src\bryantd\javatools\MyTool.java
编译该文件:
d:\src\bryantd\javatools>javac MyTool.java
编译成功,生成MyTool.class。

3、将这个类库制作成.jar文件
d:\src\>jar -cf tool.jar .
制作成功,并将这个jar文件放置在e:\lib\目录下,即:e:\lib\tool.jar

4、在e:\下编写测试类文件:
//JarTest.java

import bryantd.javatools.MyTool;

public class JarTest{
public static void main(String[] args){
MyTool my = new MyTool();
}
}

这个文件的物理位置为:e:\JarTest.java
编译该文件:e:\>javac -classpath e:\lib\tool.jar JarTest.java
编译成功

5、修改CLASSPATH环境变量,我的系统是XP,直接在CLASSPATH中加入:……; e:\lib\;
执行测试类:e:\>java JarTest
出现运行时错误提示:
Exception in thread "main" java.lang.NoClassDefFoundError:bryantd/javatools/MyTool
at TarTest.main(JarTest.java:5)

请问上述过程哪里出了问题?

...全文
203 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltbcn 2006-06-14
  • 打赏
  • 举报
回复
同意
点击顶上的管理,然后给回复看着给分就行了
做鸡真好吃 2006-04-30
  • 打赏
  • 举报
回复
Mark~
Rico_Liu 2006-04-30
  • 打赏
  • 举报
回复
mark
Fifotom 2006-04-01
  • 打赏
  • 举报
回复
点击顶上的管理,然后给回复看着给分就行了
bryantd 2006-04-01
  • 打赏
  • 举报
回复
我找到错误了,我自己打包的时候路径不对
---src\bryantd\javatools\MyTool.java
|
+META-INF\manifest.mf
d:\src\>jar -cf tool.jar .
虽然是这么写的,但是实际操作的时候可能弄错了
现在问题都解决了,谢谢!

另外这里怎么给分阿?我不会,教我一下
Fifotom 2006-04-01
  • 打赏
  • 举报
回复
用WinRAR就可以打开.jar文件了,和打开rar,zip文件一样
bryantd 2006-04-01
  • 打赏
  • 举报
回复
请问楼上的朋友用什么命令展开jar文件来观察它的目录结构?
ohbug 2006-04-01
  • 打赏
  • 举报
回复
看一下你的jar文件中的目录结构是不是正确的。如果是对的,在jar文件里面的一级目录应该是
---bryantd\javatools\MyTool.java
|
+META-INF\manifest.mf
Fifotom 2006-04-01
  • 打赏
  • 举报
回复
那可能是你写得classpath不全,一些你用到的别的类没有添加进来,
Java1.4.2以后就不需要为系统库设置classpath了,所以你得C:\jdk1.5\lib\有与没有都是一样的
bryantd 2006-04-01
  • 打赏
  • 举报
回复
按照楼上的方法做了,还是不行,会出现同样的问题。
我在为java自带的类库jar文件设置CLASSPATH就是这样设置的:c:\jdk1.5\lib\;没有问题
所以我想还不是您说的这个问题

我觉得错误的可能性有两种:
1、类路径CLASSPATH设置的有问题,但是不知道错在哪里
2、jar文件制作的时候路径有问题

是不是大家现在都使用IDE,已经没有人关心这个问题了?呵呵
Fifotom 2006-04-01
  • 打赏
  • 举报
回复
直接在CLASSPATH中加入:……; e:\lib\;
这里需要加入e:\lib\tool.jar如果为e:\lib\的话,它只会在e:\lib\目录下寻找你要的类,而不会进入tool.jar文件
bryantd 2006-04-01
  • 打赏
  • 举报
回复
谢谢各位

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧