我知道这个问题已经在这里讨论过很多次了。我在 MAC 上运行 OSX 10.7.4 和 NetBeans 7.2.1
我不知道这是否是一个新问题,我是一个java新手。无论如何,在项目窗口中选择我的项目时,它都会显示该项目:
Idealizer -> Source Packages -> components-> AlsRun.java, GraphingData.java, Idealizer.java, jButtonListenerExample.java
.
AlsRun 是主类。我可以从 IDE 中运行代码,也可以通过压缩 dist 并将其移动到任何位置并输入: java -jar "Idealizer.jar
来运行代码。 “(来自“dist”内)。
在这个问题的其他讨论中,似乎 MANIFEST.MF 受到了牵连。 MANIFEST.MF 显示正确:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_35-b10-428-11M3811 (Apple Inc.)
Class-Path:
X-COMMENT: Main-Class will be added automatically by build
Main-Class: components.AlsRun
我认为以下是两大提示。
重要提示1:
当我从命令行运行代码时,程序接管并且屏幕上显示的程序名称是“components.AlsRun”。 当我尝试通过双击(从查找器)启动它时,会启动一个程序,显示的名称是“AlsRun”。在后一种情况下启动的程序什么也不做,我只能从“强制退出”中杀死它。
重要提示2:
写完最后一句后,我问自己如何从命令行杀死它。如果我通过双击运行该程序,然后运行 ps -A | grep java
它返回以下内容:
33383 ?? 0:00.84 /Library/Internet Plug-ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
-jar/Users/pearson/NetBeansProjects/Idealizer/dist/Idealizer.jar
当我从命令行运行程序然后执行 ps -A | grep java
时它返回
33394 ttys001 0:01.46 /usr/bin/java -jar Idealizer.jar
它运行不同版本的 java,具体取决于我是通过双击还是通过命令行启动它。
显然 NetBeans 认为我正在创建一个与应用程序不同的“Applet”?
我在这里不知所措。对我来说产生错误的代码的最短版本是:
package components;
import javax.swing.JFileChooser;
public class AlsRun {
public static void main(String[] args) {
JFileChooser fc = new JFileChooser();
int returnVal = fc.showOpenDialog(null);
};
}
最佳答案
按照此处的说明进行操作:http://www.oracle.com/technetwork/articles/javase/javatomac3-137430.html
解决了问题。
关于java - NetBeans 制作的 jar 文件无法通过双击启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14754511/