java无法打开.jarjava文件打包成jar

Ubuntu11.04默认安装的是OpenJDK,这个东西不知为什么,在使用Eclipse时容易假死,所以决心将其卸载。然后下载了一个JDK,是压缩包形式的,解压后,设置了环境变量。使用javac编译代码都没问题,而且Eclipse运行也没问题。
但还是有些问题出现了。
第一个问题是原来在OpenJDK环境中运行不错的一个图形界面程序,现在在Eclipse中无法运行了。又试了几个,都是同样的问题。
第二个问题是无法双击打开jar文件了。这些文件在原来使用OpenJDK时是可以正常打开的。
解决方法:
1.将JDK的目录建立了一个链接,取名为default-java,放到/usr/lib/jvm目录中。现在目录形式类似于这样:
/usr/lib/jvm$ls -l
lrwxrwxrwx 1 root root 37
12:11 default-java -& /home/westcn/develop/book/java/jdk1.6
2.这个解决比较麻烦点。
先打开这个文件,该文件记录了系统打开文件的方式:
.local/share/applications/mimeapps.list
查看其中的这行:
application/x-java-archive=sun-java6-java.desktop
注意到打开jar的方式是“sun-java6-java.desktop”,现在需要建立该文件,该文件应位于/usr/share/applications目录中。
方式是: sudo gvim /usr/share/applications/sun-java6-java.desktop
将其内容设置为:
[Desktop Entry]
Encoding=UTF-8
Name=Sun Java 6 Runtime
Comment=Sun Java 6 Runtime
Exec=cautious-launcher %f /home/westcn/develop/book/java/jdk1.6/bin/java -jar
Terminal=false
Type=Application
Icon=sun-java6
MimeType=application/x-java-application/java-application/x-
NoDisplay=true
在Exec行中,要指定自己的JDK中java程序的位置,然后重新登录一次,双击jar,可以正常打开了。
至此,更换JDK的工作全部完成。
浏览: 1616 次
来自: 上海
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'做系统级别工作,提升能力
Java中打jar包的方法
Java中打jar包的方法
引入包的概念
在我们实际编程的过程中,为了避免类名之间发生冲突,从而引入了包机制,但是有的人说我写的程序不会发生类名的冲突,我都用不同的名字不就行了,但是你应该考虑到的是,你应该是一个团队的协作开发,基本不是一个人的单打独斗,所以在这种情况下我们是无法避免类名发生冲突的,怎么办呢?sun公司给我们提供了方法,那就是打包,经过合适的打包,可以避免类名重复的冲突。
首先先说一种良好的编程习惯,在我们编程的过程中,应该建立两个文件夹,分别是sources和classes文件夹,其中sources文件夹用于存放源代码文件,classes用于存放.class文件,在发布软件时,不需要将源码一起发布出去,只需要将class文件打成jar包之后发布。看下面的代码:
package hello.
class Test{
public static void main(String[] args){
System.out.println("Hello,World!");
接着打开控制台程序在进入G:\JAVA\sources路径下,在控制台中输入下面的代码:
javac -d ../classes test.java
当你进入G:\JAVA\classes文件夹之后你会发现,在这个文件夹之下生成了hello和world文件夹,也充分的说明了一个问题:Java中的打包操作实际功能相当于windows下的文件夹,放在不同的文件夹下避免同名冲突。那么此时问题来了,我们怎么运行这段代码呢?在没有发布jar包之前,我们使用下述命令:
java hello.world.demo1
我们给用户的程序不可能是把.class文件,两点:第一,用户根本看不懂也不会运行;第二,用户最擅长的技能是双击和单击,怎么才能让这个代码通过双击或者单击就能运行呢?sun公司同样给了方法,那便是打jar包,还是将上面的例子打包成jar包。sun公司提供了jar.exe工具,可以很方便我们将.class文件打包为jar包,怎么用jar.exe呢?同样在控制台中输入:jar,便可以看到所有的参数,在我们平常的使用中,常用的参数只有cvf这三个,指令的格式为:
jar cvf 打成的jar包的名字 (一个或者多个)class文件或者文件夹
接着我们用解压软件打开这个以.jar为后缀的文件,在其中有一个文件夹MANIFEST.MF,用记事本打开这个文本,写入下面的语句:
Main-Class: hello.world.test //注意:冒号是英文状态下的冒号,并且之后加一个空格,有且只有一个空格,多加一个空格程序都不能运行,之后加完整的类名,完整的类名应该是包名.类名(不加后缀.java)
保存上述文件。
接着我们双击这个jar包之后发现,并不能运行,不是说打包为jar包之后就可以运行的吗?是这样的,但是打包成为jar包之后能运行仅仅限于窗体程序,对于命令行程序需要在命令行中输入下面指令:
java -jar 打包成的jar包名.jar
便可以正确我的运行。
工具类打jar包
对于工具类,我们达成jar包之后不需要去指定主类,因为工具类是提供给别人用的,并没有主类,把jar包放在我们sources中,使用这个jar包中的类,发现找不到,原因是我们没有设置classpath路径,此时只需要在控制台中输入:
set classpath=./打包成的jar包.
没有更多推荐了,java环境变量配置好后双击jar文件无法运行的解决办法
& 发布时间: 14:04:36 & 作者:佚名 &
这篇文章主要介绍了java环境变量配置好后双击jar文件无法运行的解决办法,需要的朋友可以参考下
最近发现个诡异的问题,java环境变量明明配好了。但是双击xx.jar文件,就是不能直接打开运行。先想到了第一个解决办法:运行cmd.exe,cd到jar目录,执行javaw -jar xxx.jar。xxx.jar就是我要执行的文件。这样就可以运行了。但这很麻烦不是,每次都要cd到jar所在的目录,那我还去配环境变量干嘛。
分析原因,应该是jar文件的打开方式关联了其他的软件打开方式,就像任何文件我们都可以用记事本去打开,但你用记事本去打开一张图片肯定看不到图片。所以我们的解决办法就是修改默认的打开方式。就是修改注册表。
1.打开注册表(开始-&运行或WIN+R,输入regedit,确定);
2.找到HKEY_CLASSES_ROOT/Applications/javaw.exe,一开始没有的话,就在资源管理器中找到javaw.exe文件,如我的电脑中为D:/Program Files/Java/jre/bin/javaw.exe,运行下,或找个Jar文件,选择打开方式,输入D:/Program Files/Java/jre/bin/javaw.exe,再选择打开就行了;
3.进入HKEY_CLASSES_ROOT/Applications/javaw.exe/shell/open/command,修改默认的键值为 &D:/Program Files/Java/jre/bin/javaw.exe& -jar &%1& 。
java环境安装在其它地方也类似。
大家感兴趣的内容
12345678910
最近更新的内容应用分类手游分类
  jar文件怎么打开?jar文件其实是Java项目下生成的项目文件,当然也有用户称之为Java压缩包,里面封装了许多Java类以及方法,变量。如果用户想要打开jar文件,有两种方法,具体操作请看下文。
  jar文件怎么打开?
  一、使用WinRAR打开jar文件
  1、首先我们先找到一个Java生成的jar文件,把它存放在指定位置已方便查看。
  2、然后右键点击jar文件,选择打开方式,然后设定为压缩文件打开的方式,这时候我们就会看到桌面上的jar文件变成了一个压缩包的图标。
  3、然后我们双击桌面的jar文件,就可以以压缩包的形式查看jar文件里面的具体内容了。
  二、使用Java程序打开jar文件
  1、首先我们要确保自己电脑上已经安装了Java运行环境,这样才能利用Java程序打开jar文件。
  2、在确保安装完成Java程序之后,点击jar文件选择右键,选择默认打开方式,选择Java(TM)platform SE 进行打开。
  3、设置完成之后,我们右键jar文件进行解压然后也可以查看jar文件的内容了。
  以上内容便是打开(查看)jar文件的最简单的两种方法,前者即便打开的jar文件依然需要使用Java程序来查看Java类、方法和变量,后者可以一次性查看全部代码。
相关阅读热门手机应用资讯教程、手游攻略、关注熊掌号&&|&&Copyright &
xitongzhijia.net
All rights reserved.Eclipse下导出java程序可执行的jar包图片无法显示问题的一种解决方法
说明:在eclipse中运行java程序的时候一切正常,可是当把jar包导出的时候却发现图片没法显示,这估计是java程序的各种配置和路径问题所导致,后来找到一种解决方法,供遇到这方面问题的学习java程序的鞋同参考:
项目下的目录结构如下:
其中class类放在包: (即实际是在如上bin/accpedu文件夹下面)
通过下面的方法来引用图片时,在eclipse里面执行是可以正常显示图片的:
ImageIcon image1 = new ImageIcon();
ImageIcon image2 = new ImageIcon();
ImageIcon image3 = new ImageIcon();
ImageIcon image4 = new ImageIcon();
ImageIcon image5 = new ImageIcon();
image1 = new ImageIcon(&images/butffler.jpg&);
image2 = new ImageIcon(&images/username.gif&);
image3 = new ImageIcon(&images/password.gif&);
image4 = new ImageIcon(&images/warning.gif&);
image5 = new ImageIcon(&images/role2.jpg&);
但是导出jar包school2.jar后执行,却发现图片没有显示出来:
经过一番分析和调试之后,找到了一种解决方法,将引用图片的那段代码修改为下面的方式:
//这种方法即可以在eclipse下找到图片路径,也可以在导出的jar包中找到图片路径
//图片必须要放在class目录下面
java.net.URL imgURL1 = LoginFrame.class.getResource(&butffler.jpg&);
image1 = new ImageIcon(imgURL1);
java.net.URL imgURL2 = LoginFrame.class.getResource(&username.gif&);
image2 = new ImageIcon(imgURL2);
java.net.URL imgURL3 = LoginFrame.class.getResource(&password.gif&);
image3 = new ImageIcon(imgURL3);
java.net.URL imgURL4 = LoginFrame.class.getResource(&warning.gif&);
image4 = new ImageIcon(imgURL4);
java.net.URL imgURL5 = LoginFrame.class.getResource(&role2.jpg&);
image5 = new ImageIcon(imgURL5);
然后还需要导入一个图片的jar包,由于这种方法必须把图片文件(如butffler.jpg)放在class的相同目录下,即放到目录accpedu下,否则会找不到图片路径的;这样需要把images文件夹改名为accpedu并压缩为accpedu.jar包,其中accpedu文件里面就是直接的图片文件,没有多余的文件夹,这是因为class类放在包:中;然后就可以导入accpedu.jar到项目中,如下:
通过这样的命名规则()导入accpedu.jar包后,其图片会自动导入到了class相同的目录下:
然后再导出java程序的可执行的jar包school.jar:
解压school.jar包后,图片的确导入到了class相同的目录下:
注意:图片的jar包的命令规则必须与class在包中package的结构一致,这样才能正确的把需要导入的图片导到class相同的目录下;另外,用这种方法来显示图片,必须确保图片导到了class目录下,否则程序运行会出现问题,假如图片文件名写错了butffler.jpg 写成butffler1.jpg,即会出现下面问题,不仅图片显示不出来,更严重的是整个登录框可没显示完整,这是需要注意的:
到此,上述就是一种关于解决eclipse导出java程序的可执行的jar包的图片无法显示的方法!

我要回帖

更多关于 java如何做成jar文件 的文章

 

随机推荐