jar文件双击打不开,请问是什么原因

a1318463979 2011-09-25 01:21:11
弹出这样的错误


...全文
1343 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
打油的程序员 2011-09-26
  • 打赏
  • 举报
回复
或者这么做:

////////////////////////////////////////////////////////////////////////////////////////////////
下载安装对应版本的JDK:
64位操作系统:http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe
32位操作系统:http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-i586.exe
////////////////////////////////////////////////////////////////////////////////////////////////
JAVA_HOME设置(每个人都不一样,确保它的子目录有:bin,demo,include,jre,lib)
jdk目录的具体路径,比如 ;D:\Program Files\Java\jdk1.7.0;

ClassPath设置(初学者直接复制到环境变量的最前端,高手请按自己的想法做):
;%JAVA_HOME%\bin;.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib\rt.jar;

Path设置(直接复制到环境变量的最前端):
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;.;%JAVA_HOME%\..\jre7\bin;%JAVA_HOME%\..\jre6\bin;%JAVA_HOME%\..\jre5\bin;
//////////////////////////////////////////////////////////////////////////////////////////////////

//如何生成可以双击的jar文件?
1.在任意文件夹建立一个文件
文件名:生成jar文件.bat
文件内容:



@echo off
echo Main-Class: test.HelloWorld > manifest.mf


echo 这里开始的是一个包含.java文件的工程目录,你可以自行建立
mkdir test
echo package test; > test/HelloWorld.java
echo import javax.swing.*; >> test/HelloWorld.java
echo class HelloWorldMainFrame extends JFrame { >> test/HelloWorld.java
echo public HelloWorldMainFrame() { >> test/HelloWorld.java
echo setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); >> test/HelloWorld.java
echo setBounds(200, 200, 30, 50); >> test/HelloWorld.java
echo add(new JLabel("HelloWorld"));//显示 >> test/HelloWorld.java
echo setVisible(true); >> test/HelloWorld.java
echo }//还可以有内部类,匿名内部类...... >> test/HelloWorld.java
echo } >> test/HelloWorld.java
echo public class HelloWorld { >> test/HelloWorld.java
echo public static void main(String[] args) { >> test/HelloWorld.java
echo new HelloWorldMainFrame(); >> test/HelloWorld.java
echo } >> test/HelloWorld.java
echo } >> test/HelloWorld.java
echo 以这里之前的是一个包含.java文件的工程目录,你可以自行建立


javac test/HelloWorld.java
jar cvfm test.jar manifest.mf test
java -jar test.jar
echo 先双击文件生成jar文件.bat 以后直接双击c盘下的test.jar
exit
打油的程序员 2011-09-26
  • 打赏
  • 举报
回复
你双击HelloWorld.bat就可以产生test.jar文件
打油的程序员 2011-09-26
  • 打赏
  • 举报
回复

////////////////////////////////////////////////////////////////////////////////////////////////
下载安装对应版本的JDK:
64位操作系统:http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe
32位操作系统:http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-i586.exe
////////////////////////////////////////////////////////////////////////////////////////////////
JAVA_HOME设置(每个人都不一样,确保它的子目录有:bin,demo,include,jre,lib)
jdk目录的具体路径,比如 ;D:\Program Files\Java\jdk1.7.0;

ClassPath设置(初学者直接复制到环境变量的最前端,高手请按自己的想法做):
;%JAVA_HOME%\bin;.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib\rt.jar;

Path设置(直接复制到环境变量的最前端):
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;.;%JAVA_HOME%\..\jre7\bin;%JAVA_HOME%\..\jre6\bin;%JAVA_HOME%\..\jre5\bin;
//////////////////////////////////////////////////////////////////////////////////////////////////
//如何生成可以双击的jar文件?
1.c盘下建立一个文件,
文件名:manifest.mf
文件内容:

Main-Class: test.HelloWorld



2.c盘下建立一个文件夹,
文件夹名:test


3.在c盘下的子文件夹test中建立一个文件
文件名:HelloWorld.java
文件内容:

package test;
import javax.swing.*;
class HelloWorldMainFrame extends JFrame {
public HelloWorldMainFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(200, 200, 30, 50);
add(new JLabel("HelloWorld"));//显示
setVisible(true);
}//还可以有内部类,匿名内部类......
}
//如果有多个类文件,或者同一个文件有多个类,编译之后会产生多个类文件。我把它写成两个类。最终会产生两

个.class文件
public class HelloWorld {//无论如何要记住这个类名,因为它是程序的入口
public static void main(String[] args) {
new HelloWorldMainFrame();
}
}



4.c盘下建立一个文件,
文件名:HelloWorld.bat
文件内容:

javac test/HelloWorld.java
jar cvfm test.jar manifest.mf test
java -jar test.jar
echo 以后双击c盘下的test.jar即可运行
exit


//////////////////////////////////////////////////////////////////////////////////////////////////
a1318463979 2011-09-25
  • 打赏
  • 举报
回复
顶。 求 大侠啊
a1318463979 2011-09-25
  • 打赏
  • 举报
回复
还有为什么我 敲

他吗的 又可以运行

a1318463979 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 oracleeason1 的回复:]
引用 3 楼 k3108001263 的回复:

每天我都要贴上那么几次,试试下面步骤先,不行 再发图片上来

////////////////////////////////////////////////////////////////////////////////////////////////
JAVA_HOME设置(每个人都不一样,确保它的子目录有:bin,demo,incl……
[/Quote]
不知道为什么我直接复制他的到环境变量 dos 下敲 javac 系统都提示不认识了
而我直接写路径又可以 ,唉 郁闷啊
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 k3108001263 的回复:]

每天我都要贴上那么几次,试试下面步骤先,不行 再发图片上来

////////////////////////////////////////////////////////////////////////////////////////////////
JAVA_HOME设置(每个人都不一样,确保它的子目录有:bin,demo,include,jre,lib)
jdk目录的具体路径,比……
[/Quote]jdk1.5之后是不需要配置classpath路径的
a1318463979 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 huntor 的回复:]
目录怎么是乱码?
放到别的目录下试试正常启动吗?
看看你的 tt.jar 里的 META-INF/MANIFEST.MF 文件里有 没有

Java code
Main-Class: org.gjt.sp.jedit.jEdit
类似的内容
[/Quote]


huntor 2011-09-25
  • 打赏
  • 举报
回复
目录怎么是乱码?
放到别的目录下试试正常启动吗?
看看你的 tt.jar 里的 META-INF/MANIFEST.MF 文件里有 没有
Main-Class: org.gjt.sp.jedit.jEdit
类似的内容
a1318463979 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 k3108001263 的回复:]
每天我都要贴上那么几次,试试下面步骤先,不行 再发图片上来

////////////////////////////////////////////////////////////////////////////////////////////////
JAVA_HOME设置(每个人都不一样,确保它的子目录有:bin,demo,include,jre,lib)
jdk目录的具体路径,比如……
[/Quote]


还是不行啊
a1318463979 2011-09-25
  • 打赏
  • 举报
回复

a1318463979 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 huntor 的回复:]
csdn 有个相册。

百度不支持图片外链。
[/Quote]
huntor 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 a1318463979 的回复:]

http://hi.baidu.com/%B1%C9%CA%D300/album/item/d6af899140b997677af48084.html#
[/Quote]
你访问的照片不存在,可能已被主人删除
huntor 2011-09-25
  • 打赏
  • 举报
回复
csdn 有个相册。

百度不支持图片外链。
a1318463979 2011-09-25
  • 打赏
  • 举报
回复
http://hi.baidu.com/%B1%C9%CA%D300/album/item/d6af899140b997677af48084.html#
a1318463979 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 huntor 的回复:]
仅限百度用户看的图片,csdn看不到,你把图片所在的网页连接贴出来
[/Quote]
csdn不支持上传本地图片的吗?
huntor 2011-09-25
  • 打赏
  • 举报
回复
仅限百度用户看的图片,csdn看不到,你把图片所在的网页连接贴出来
a1318463979 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 huntor 的回复:]
打包jar文件时没有指定Main-Class, Class-Path
[/Quote]



指定啦
打油的程序员 2011-09-25
  • 打赏
  • 举报
回复
每天我都要贴上那么几次,试试下面步骤先,不行 再发图片上来

////////////////////////////////////////////////////////////////////////////////////////////////
JAVA_HOME设置(每个人都不一样,确保它的子目录有:bin,demo,include,jre,lib)
jdk目录的具体路径,比如 ;D:\Program Files\Java\jdk1.7.0;

ClassPath设置(直接复制到环境变量的最前端):
;%JAVA_HOME%\bin;.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib\rt.jar;

Path设置(直接复制到环境变量的最前端):
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;.;%JAVA_HOME%\..\jre7\bin;%JAVA_HOME%\..\jre6\bin;%JAVA_HOME%\..\jre5\bin;
//////////////////////////////////////////////////////////////////////////////////////////////////
huntor 2011-09-25
  • 打赏
  • 举报
回复
打包jar文件时没有指定Main-Class, Class-Path
加载更多回复(1)
maven到底是什么?    Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具[百度百科]    这种又是大白话,如果没明白maven是什么,那么上面这句话跟没说一样,我自己觉得,Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,而这里pom.xml文件对于学了一点maven的人来说,就有些熟悉了,怎么通过pom.xml的配置就可以获取到jar包呢?pom.xml配置文件从何而来?等等类似问题我们需要搞清楚,如果需要使用pom.xml来获取jar包,那么首先该项目就必须为maven项目,maven项目可以这样去想,就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能了(通过pom.xml添加jar包)。    所以,根据上一段的描述,我们最终的目的就是学会如何在pom.xml中配置获取到我们想要的jar包,在此之前我们就必须了解如何创建maven项目,maven项目的结构是怎样,与普通java,web项目的区别在哪里,还有如何配置pom.xml获取到对应的jar包等等,这里提前了解一下我们如何通过pom.xml文件获取到想要的jar的,具体后面会详细讲解该配置文件

62,614

社区成员

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

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