java小程序在eclipse中正常运行,倒出为jar可运行程序就无反应

package Internet;

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;

@SuppressWarnings("serial")
public class OpenTest extends Frame{
public void start(){
Button b = new Button("open");
setVisible(true);
setSize(500,300);
setLayout(new FlowLayout());
add(b);
pack();

addWindowListener(new WindowAdapter(){

@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
super.windowClosing(e);
System.exit(-1);
}});

b.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Runtime rn1=Runtime.getRuntime();
Runtime rn2=Runtime.getRuntime();

Process p1=null;
try {
p1=rn1.exec("D:\\Program Files\\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe");//输入文件的路径
p1=rn2.exec("D:\\Program Files\\Baofeng\\StormPlayer\\StormPlayer.exe");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}});
}
public static void main(String args[]){
OpenTest ot = new OpenTest();
ot.start();
}
}
多开程序的java小应用~为什么在eclipse中可以正常运行
到出为jar 直接运行就什么反应都没有?
补充一下...变成jar 是可以运行 有Frame框出来,只是不会执行而已
但是在myeclipse下面试可以运行并执行的

jar包的名字包含空格是会导致这种情况发生的,所以要检查下包名
读取jar文件中的内容是有特定语法的。
做个比较
1.普通windows文件系统:
file:\D:\MapModule\img\map\map.jpg //你一定要在这个路径上有文件才能读写
2.jar文件中的文件:
jar:file:\D:\MapModule.jar!\img\map\map.jpg
区别一眼就看出来了(2中有jar前缀,并且有'!')。
获取输入流的方法:
URL url=new URL("jar:file:\D:\MapModule.jar!\img\map\map.jpg");
InputStream is=url.openStream();
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-25
用Eclipse导出有时候会出问题,导出的jar文件只有100多KB,在一些电脑上不能运行
我研究了一下,win7出问题的概率不大,XP经常出问题,估计和系统设置与关系
另外一个有一个通用的解决方案,用myEclipse导出,文件大小大约8M的样子,它把相关的
类class全放进去了。没出过问题
这问题前段时间我纠结了很久,希望你有点帮助追问

刚才到家又把这段代码复制到家里的64位 win7 并且导出jar 成功
笔记本是32位win7 同样代码 同样操作..在myeclipse上可以成功运行并执行,但是导出变成jar.只能运行但是不执行~

追答

先看看导出jar文件大小,其次就是获取路径的地方不能使用String,得使用URL。
就是相对于工程的路径的使用URL,你看看没有用到。其他估计是就是设置的问题啊。
导出不是有几种方式嘛,都试试。

追问

同样的代码。。。
不同的只是一台是32位 一台是64位
你用我上面的代码在32位的系统下看看行不行

本回答被提问者采纳
第2个回答  2014-03-25
导出的时候,导出的文件类型应该选择runnable JAR file

如果只是选择jar file的话,导出之后双击就不能运行追问

我是这样做的我导出的jar可以运行 只是运行无反应

在IDE中可以执行打开EXE文件的操作

jar可以运行,但是不执行命令

追答

你的代码 能不能贴一下 。。前几天我刚写过一个 都可以实现。。还有也许跟环境有关 你是什么系统

追问

代码就是上面这段呀~至于文件路径你改成你本机上的随便两个exe都可以~在myeclipse上是OK啊
可以运行并执行
但是导出变成jar...就只能运行 无法执行了~

第3个回答  2014-03-26
java -cp jar 文件 Internet.OpenTest
第4个回答  2014-03-25

在导出的时候要选择可运行的jar

追问

我就是这样做的~

追答

打开方式选择

追问

。。。。。。问题不是这个,我当然是用这个打开的~