可执行jar中classpath问题

moke33 2004-12-14 10:04:15
原来文件结构如下:
project+
+com+
| +moke+
| +MyApp.class
|
+sources.txt
在project目录下执行:java com.moke.MyApp可以正常运行(中间涉及到对sources.txt的读写操作)

但是打包成jar文件之后却出现错误,提示:java.io.FileNotFoundException: sources.txt (系统找不到指定的文件。)

请各位帮忙,多谢
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveunittesting 2004-12-15
  • 打赏
  • 举报
回复
没做过这个东西,运行时候加上参数呢
java -Dclasspath=app.jar -jar app.jar
看看可否运行
moke33 2004-12-15
  • 打赏
  • 举报
回复
不行,还是读取文件失败,找不到文件
tomcatjava 2004-12-15
  • 打赏
  • 举报
回复
这样访问试试:
URL url = MiniOntEditor.class.getClassLoader().getResource( "resource.txt" );
IamgeIcon image = new ImageIcon( url );

对于文件访问,没有new File(url),我这样做的:
URL tempUrl = RuleGeneratorFrame.class.getClassLoader().getResource( "resource.txt" );
File temp = new File( tempUrl.toString().substring(6) );
jFresH_MaN 2004-12-14
  • 打赏
  • 举报
回复
this.getClass().getResourceAsStream(filename)
换成
FileInputStream in=new FileInputStream("/source.txt");
我觉得这样准行
moke33 2004-12-14
  • 打赏
  • 举报
回复
打包进去了,都没有问题,现在是使用this.getClass()
.getResourceAsStream(filename)在jar中可以正常运行,但是普通方式下又不行了,现在的问题是只有一方可以正常运行
jFresH_MaN 2004-12-14
  • 打赏
  • 举报
回复
sources.txt 打包进去了吗?
用/source.txt应该没问题啊
CALM 2004-12-14
  • 打赏
  • 举报
回复
你在代码里面是怎么访问sources.txe的?jar文件里面sources.txt还在相应的目录么?

62,614

社区成员

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

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