我知道这个问题已经在这里讨论过很多次了。我在带有 OSX 10.7.4 和 NetBeans 7.2.1 的 MAC 上运行
我不知道这是否是一个新的皱纹,我是一个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);
};
}