lor*_*olf 5 java program-entry-point
我在双击时无法启动 jar 文件(并使用 java SE 打开),jar 从命令行启动得很好,我创建的其他 jar 通过双击启动得很好。
我使用 eclipse 导出器导出了 jar 文件,我使用了可运行的 jar 导出并在运行配置下选择了正确的 main() 类
当我使用java -jar myjar.jar它运行jar 时,它按预期运行,没有抛出异常
我在 linux/windows 下都有同样的问题我没有真正看到这一点,因为我使用相同方式创建的其他 jar 文件运行没有任何问题。
只是为了好玩我创建了一个
c程序只包含
int main(void){
system("java -jar myjar.jar");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我双击编译的
c程序时,我的 jar 就打开了!
这是清单
Manifest-Version: 1.0
Class-Path: . libs/commons-compress-1.10.jar libs/zip4j_1.3.2.jar libs/xz.jar libs/commons-io-2.4.jar libs/oat2dex.jar
Main-Class: deodex.Tester
Run Code Online (Sandbox Code Playgroud)
这是main方法:http :
//pastebin.com/M8Fhb4qW
package deodex;
import deodex.tools.Logger;
import deodex.ui.LangFrame;
import deodex.ui.Window;
public class Tester {
public static void main(String args[]) {
if (Cfg.isFirstLaunch()) {
Cfg.setCurrentLang(S.ENGLISH);
R.initResources();
@SuppressWarnings("unused")
LangFrame win = new LangFrame();
} else {
Cfg.readCfg();
R.initResources();
S.initTempFolders();
Logger.logToStdIO("[test]" + Cfg.getCurrentLang());
@SuppressWarnings("unused")
Window win = new Window();
}
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
更多细节
我尝试JFrame在我的代码之前添加一个新的,双击只适用于出现的那个JFrame ,然后它挂在那里,应该在它之后启动的其他 Windows 没有出现,请告诉我在哪里看......为什么它不起作用?因为看起来我的类扩展JFram需要终端/cmd 来显示,我还应该注意,我正在使用一个类R来根据语言和Cfg类从文本文件中加载字符串,以检查程序是首次启动还是已启动之前启动,然后加载适当的语言文件和资源。
按照答案中的建议进行编辑,我删除了所有 JDK 并按照描述安装了 Oracle 的 JDK 仍然存在相同的问题
| 归档时间: |
|
| 查看次数: |
1404 次 |
| 最近记录: |