当前页面: 开发资料首页 → J2SE 专题 → jar双击没有反应?
jar双击没有反应?
摘要: jar双击没有反应?
class Fibi
{
public long fibinacii(int n)
{
long c=0;
if(n==1||n==2)
c=1;
else
c=fibinacii(n-1)+fibinacii(n-2);
return c;
}
}
public class B
{
public static void main(String args[])
{
Fibi a=new Fibi();
for(int i=1;i<=10;i++)
{
System.out.print(" "+a.fibinacii(i));
}
}
}
程序极其简单,我创建了jar文件,也些好了.mf文件,可双击就是没有反应,怎么回事呢?
在Windows的设置也要改啊。jar文件是WinRAR默认打开,还是Java/Javaw
.mf文件中有没有写
Main-Class: package.mainClass
建一个 MANIFEST.MF 文件
Main-Class: 主程序名
.mf文件是这样的
Manifest-Version: 1.0
Main-Class: B
Created-By: 1.5.0(Sun Microsystems Inc.)
我没有用包
在网上搜索了一下,别人范的错误我都没有犯呀。可就是没反应,在命令行可以执行的。
但我在命令行 javaw test.jar时,说找不到主类,明明有呀
怎么回事呢,哪位碰到过,如何解决的?郁闷了一个早上了,java怎么这么折腾人
你没装win-jre
装了以后jar文件才于点激关联
安装jdk的时候装了一个jre。装完jdk,产生了两个文件夹jdk1.5.0和jre1.5.0。
我还按照人家的提示,担心与winrar关联,写了一个批处理文件,如下
javaw -jar tom.jar
但运行该批处理文件还是不行
不知道怎么与jre关联,需要特殊设置吗?没有说呀。应该是在任何地方都可以运行吧,不用一定要拷贝到特定的文件夹了吧。点.jar文件右键,打开方式中有一个“java(TM)2 platform standard edition binary”,不知道是什么?
安装jdk的时候,还提示安装了jre,但我发现装完的jdk目录下有一个jre,另外与jdk平行的还单独生成了一个jre目录,不知道两个之间有什么区别?
classpath=.;
这一句有没有加入到你的classpath环境变量里?
.表示当前目录,如果没有把"."加到classpath,他根本不会搜索当前目录里的jar文件
.mf文件要写好而且要完整,具体写法上面已经有了。
把所有的.class和.mf文件jar起来
如果默认打开方式是winrar
那么写一个bat文件
javaw -jar X.jar
保存成A.bat
运行就可以了:)
.mf文件是这样的
Manifest-Version: 1.0
Main-Class: B
Created-By: 1.2.2(Sun Microsystems Inc.)
可能是.mf写错了。
源文件如上,就不再重复写了。
classpath=.;c:/java/jdk1.5.0/lib/tools.jar;c:/java/jdk1.5.0/lib/dt.jar;c:/java/jdk1.5.0/bin
Mymoon.mf文件清单如下:
Manifest-Version: 1.0
Main-Class: B
Created-By: 1.2.2(Sun Microsystems Inc.)
我把他们存在d:/test 目录中,并对源文件B.java进行了编译,生成了B.class和Fibi.class,然后在DOS环境下
d:/test>jar cfm tom.jar Mymoon.mf B.class Fibi.class
于是生成了tom.jar
双击,没反应。
于是又写了批处理文件tom.bat
javaw -jar tom.jar
双击批处理文件还是没有反应。
各位,诸位,什么原因呢?我还有什么地方弄错了?我很较真,弄不好心里就总放不下。
是不是已经生成了阿,只是没有弹出来而以,我也做了一个socket的程序,监听一个端口,点了jar文件以后,没有反应,但是在任务管理器里面多了一个javaw进程,并且已经监听我指定的端口,说明已经运行了。
我的进程里没有javaw进程,我看了的。郁闷死了,为什么我的就不行呢?还有谁碰到过呢
下面这个是正确的,你可以参考下
Manifest-Version: 2.0
Class-Path: argouml-model.jar ocl-argo.jar //你需要配置搜索路径吗?
Created-By: 1.2 (Sun Microsystems Inc.)
Main-Class: org.argouml.application.Main //你的主类加包名了吗?
写一个bat
javaw -jar name.jar
关于jar运行问题,首先要取消jar文件与winrar的关联,可以打开winrar的设置选项,在文件关联选项那里去掉jar前的钩.假设前提系统已经安装 jre,jar文件将自动与javaw 关联
windows的环境变量设置是否正确,path and classpath/
manifest.mf 文件是否正确,举例说明下manifest.mf文件的格式:
Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.)
Main-Class: myprojects.win32programs.Win32programs
说名:Mani -Class: myprojects.win32programs.Win32programs后面应该空一行.
Main-Class:后面接的是一个class文件但不要.class后缀文件名.,与在cmd下运行java className一样
批处理文件到底写成
javaw -jar aaa.jar /*一些书上这样提到,但没反应*/
还是
java -jar aaa.jar /*可以运行*/
我做成jar文件后,用java -jar aaa.jar可以运行处结果,但双击的时候,总提示
Exception in thread "main" java.lang.NoClassDefFoundError: aaa /jar
我也遇到过这种情况,楼主在命令行试用java -jar Tom.jar应该是可以的吧
好像在网上看到如果是小应用程序和窗口程序就可双击执行,这种程序不行。我试了果真是这样,楼主试试,等待确切答案。