| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10295 人关注过本帖, 1 人收藏
标题:[求助]关于打包.jar---N次试验均不成功---已解决
只看楼主 加入收藏
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
结帖率:100%
收藏(1)
 问题点数:0 回复次数:5 
[求助]关于打包.jar---N次试验均不成功---已解决
近日,弄了个小东西.有几个类.现想把它打包发布.
遇到问题了.请有经验的大虾帮帮忙.小弟感激不尽!!!

我先说一下我的环境吧.
eclipse 3.3.2 + JDK 1.5
在 eclipse 下运行完全正常
之前一直用 eclipse ,没有设置什么环境变量.

用 eclipse 导出 .jar.

出现以下提示:
JAR creation failed. See details for additional information.
Resource is out of sync with the file system: '/Calculator/images/backspace.gif'.
Exported with compile warnings: /Calculator/src/Calculator.java
Exported with compile warnings: /Calculator/src/ClockLabel.java
Resource is out of sync with the file system: '/Calculator/images/pow.gif'.
Resource is out of sync with the file system: '/Calculator/images/extract.gif'.

两个警告,三个非同步:
那些是我程序中的图标.

一共有几十个图标在程序中
这样还可以生成 .jar.
运行也正常.但就是一个图标也加载不了.

这时想到,都可以运行了.应该跟环境变量没什么关系了吧,于是没有理会.

上网查了一下,发现可以用 Fat jar 插件.

于是下载了,也可以正常安发现了.

用 Fat jar 打包

还是错误:

NullPointerException

这下连 .jar 都生成不了,更不明白为什么了.明明我的程序是正常的.

于是,我想起用 MS - DOS

设置了 path ,并验证可用.还有个 classpath 没设置,不知道怎么弄.


先说明一下我的目录结构.
E:\学习\Java
这个文件夹是用来放 eclipse 工程的.
我要打包的工程名为 Calculator
它当然也是在 E:\学习\Java 下的一个子目录

E:\学习\Java\Calculator 下有三个文件夹和二个文件

E:\学习\Java\Calculator\bin 是存放 .class的
但是我建立了包 包名 calculator .
所以 E:\学习\Java\Calculator\bin 里只有一个子文件夹 E:\学习\Java\Calculator\bin\calculator
所有里面的三个.class
它们就是在 E:\学习\Java\Calculator\bin\calculator 下

E:\学习\Java\Calculator\images 是存放图片的.这些图片可以在 eclipse 下正确加载和运行

E:\学习\Java\Calculator\src\calculator 这个下面就是 .java 文件了.

E:\学习\Java\Calculator 下剩下的二个文件分别是 .classpath 和 .project



现在说说我的尝试吧.

先配置说明文件 2.txt

Main-Class: calculator.Calculator

Main-Class: 后面有一个空格,Main-Class: calculator.Calculator 后面有回车

jar 命名结果请看图01

生成了 1.jar

双击运行
提示: 不能找到主类,程序将退出

这时,我想起了 classpath.

添加一个环境变量
名:classpath
值:E:\学习\Java

再次双击运行,还是一样.
把它的值改成:E:\学习\Java\1.jar
一样,again!

再改,E:\学习\Java\Calculator\bin
也不行.

我以为,这会跟设置classpath的先后有关,于是把1.jar删了,重新运行 jar 命令
跟图01的一样,还是不行.

再删,classpath改成E:\学习\Java
运行 jar 命令.还是不行.

再删,classpath改成E:\学习\Java\1.jar
运行 jar 命令.还是不行.


这让我不得不怀疑说明文件 2.txt 了
把它改成
Main-Class: bin\calculator.Calculator

还是不行.

再循环一次删除 1.jar 和 修改classpath 问题依旧

一直提示: 不能找到主类,程序将退出.

到这里,我也没办法了.
总共就三个问题
1.设置说明文件: 2.txt
2.运行 jar 命令: jar cvfm 1.jar 2.txt Calculator
3.设置classpath

但是某个地方出了问题,就都没用了.
在此特向高手请教是怎么回事.
小弟比较愚吨,希望大虾们有点耐心,说得越仔细越好.
毕竟还是第一次打包...

我的目的很简单,就是想打包我那个工程成 .jar 的,然后可以双击正常运行.
我自己也上网看了一些,都大同小意,没什么帮助.
也有些网友说用 JBuilder 啊, NetBean 啊
我觉得,只用 MS - DOS 和 eclipse 应该可以搞定的吧.

小弟在此谢过了!!!

[[it] 本帖最后由 meteor57 于 2008-8-10 13:28 编辑 [/it]]

截图01.jpg (175.81 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: jar 打包 试验 
2008-08-02 13:36
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 
不知道为什么...
今天,刚才 eclipse 可以正常导出了
就是没有了那三个非同步了...
但是运行 .jar 加载不了图标.
加载图标有什么要注意的么?
图标路径要怎么设置
才能正常显示.

PS:在 eclipse 中运行是可以正常显示的.
2008-08-02 22:31
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 
问题已经解决.
另外写了个类.
再把images复制到bin下.

public class Resource
{
public static URL getImgResource(String name)
{
return Resource.class.getResource(name);
}

}

JButton jb = new JButton(new ImageIcon(Resource.getImgResource("/images/about.gif")));
2008-08-03 13:06
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 
还是用 eclipse
还是不习惯 DOS
2008-08-03 13:07
ambc
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-5-20
收藏
得分:0 
路径不能包括中文吧
2008-08-07 20:30
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 
[bo][un]ambc[/un] 在 2008-8-7 20:30 的发言:[/bo]

路径不能包括中文吧

实践证明,可以.呵呵~~~
2008-08-10 13:22
快速回复:[求助]关于打包.jar---N次试验均不成功---已解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016379 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved