cmd jar 无效_为什么我的JAR文件以CMD执行,而不是双击执行?
因此,我一直在编写一个简单的3D
GUI应用程序,旨在让用户只需双击JAR文件即可使用。在将其放入JAR文件之前,它可以正常工作,并且在命令提示符下运行时(在jar文件的目录中键入“
java -jar
Modeler.jar”),可以在JAR文件中使其完美运行。但是,当我双击它时,什么也没有发生。它运行完美,没有命令提示符下的错误。我从经验中知道,没有显示启动时的崩溃报告,因为控制台没有出现(或者消失得太快),但是从命令提示符运行时没有崩溃报告。关于为什么它不起作用的任何想法?我正在运行Windows
7 Home Premium。如果有帮助,以下是JAR文件的内容:
Modeler.jar
|
+--*all the class files necessary*
|
+--META-INF
|
+--MANIFEST.MF
MANIFEST.MF的内容:
Manifest-Version: 1.0
Built-By: AnonymousJohn
Class-Path: bin/j3dcore.jar bin/j3dutils.jar bin/vecmath.jar
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Main-Class: Start
编辑:因此,在弄乱了文件关联以使用java.exe而不是javaw.exe(从而为打印输出提供了一个窗口),然后稍微修改了启动机制以打印出当前工作目录后,我发现了jar从“
C:\ Windows \ system32”运行,而不是从我放在桌面上的文件夹运行。转到图。但是,将必要的外部文件移到那里并没有任何帮助。
编辑2:我尝试制作另一个JAR文件,这次使用一个简单的JFrame,其中包含一个按钮,该按钮告诉您当前的工作目录。按下按钮,它将打开一个(无用的)JFileChooser。无论我将其放在计算机的哪个位置,都可以双击操作。因此我的JAR文件一定有问题。我将再次开始对程序进行故障排除。
编辑3:问题就是我所想的:双击它时库加载不正确。奇怪的是,在我显示当前路径和库路径的测试中,无论是通过命令提示符还是双击运行它,输出都是完全相同的。这是堆栈跟踪:
java.lang.UnsatisfiedLinkError: no j3dcore-d3d in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at javax.media.j3d.NativePipeline$1.run(NativePipeline.java:231)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.NativePipeline.loadLibrary(NativePipeline.java:200)
at javax.media.j3d.NativePipeline.loadLibraries(NativePipeline.java:157)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:987)
at javax.media.j3d.VirtualUniverse(VirtualUniverse.java:299)
at javax.media.j3d.Canvas3D.(Canvas3D.java:3881)
at ModelPreview.(ModelPreview.java:51)
at Modeler.(Modeler.java:76)
at Modeler.main(Modeler.java:1227)
at Start.main(Start.java:92)
唯一的问题是它在库路径中。我在程序中专门设置了它。现在,我考虑可能是问题所在。我这样设置(这是我在互联网上某个地方找到的一种方法。我不记得在哪里):
//above was code to get newPath based on the Operating System.
//all this code is set in a try-catch phrase.
//reset the library path
System.setProperty("java.library.path", ".\\bin\\natives" + newPath + ";");
//make sure the ClassLoader rereads the NEW path.
Field f = ClassLoader.class.getDeclaredField("sys_paths");
f.setAccessible( true );
f.set(null, null); //ClassLoader will automatically reread the path when it sees that it is null.
编辑最后:好吧,在查看和查看我的代码后,我发现问题出在某些BS’ery,涉及检测64位系统,该系统加载了错误的dll。为什么它从命令行而不是通过双击起作用,我不知道并且可能永远不会知道,但是现在通过双击可以起作用,所以我很高兴。对不起,麻烦了。
cmd jar 无效_为什么我的JAR文件以CMD执行,而不是双击执行?相关推荐
- mave本地导入mysql的jar包_将本地的jar包引入到maven项目中
首先进入到maven的目录下,并且将要引入的jar包也放在这个目录下 然后执行命令 mvn install:install-file -Dfile=checkDataAdapter-api.jar - ...
- java md5加密 jar包_练习MD5加密jar包编写
简介 参数签名可以保证开发的者的信息被冒用后,信息不会被泄露和受损.原因在于接入者和提供者都会对每一次的接口访问进行签名和验证. 签名sign的方式是目前比较常用的方式. 第1步:接入者把需求访问的接 ...
- java.exe闪退_java 双击jar包闪退或没反应,使用cmd运行提示没有主清单属性,该如何解决...
java 双击jar包闪退或没反应,使用cmd运行提示没有主清单属性 使用cmd把类打包成课双击执行的jar包,双击后没反应,然后我去修改注册表 HKEY_CLASSES_ROOT\jarfile\s ...
- idea无法导入主题jar包_若依微服务版后台服务通过jar包部署到Windows服务器
场景 若依微服务版手把手教你本地搭建环境并运行前后端项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303 在前 ...
- 在cmd或者powerShell窗口运行java的jar文件
在cmd或者powerShell窗口运行java的jar文件 在桌面进入 在桌面进入cmd或者powerShell窗口运行本文采用cmd的窗口进行演示,powerShell窗口和cmd窗口输入命令一样 ...
- java如何将war包打成ear包_关于war包 jar包 ear包 及打包方法
关于war包 jar包 ear包 及打包方法 war包:是做好一个web应用后,通常是网站打成包部署到容器中 jar包:通常是开发的时候要引用的通用类,打成包便于存放管理. ear包:企业级应用 通常 ...
- eclipse导入jar包_在命令行上操作JAR,WAR和EAR
eclipse导入jar包 尽管Java IDE和许多图形工具使查看和操作Java归档文件(JAR,WAR和EAR)文件的内容比以往更加容易,但有时我还是更喜欢使用命令行jar命令来完成这些任务. 当 ...
- spring boot jar包_「Spring Boot 新特性」 jar 大小自动瘦身
自动分析瘦身 Spring Boot 项目最终构建处理 JAR 包大小一直是个诟病,需要把所有依赖包内置最终输出可运行的 jar.当然可以使用其他的插件扩展 实现依赖 JAR 和 可运行 jar 分离 ...
- 替换jar包_替换代码的情况下不停机!这操作可能工作6年的Java程序员都不会
相信很多人都有这样一种感受,自己写的代码在开发.测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,而线上调试代码又很麻烦,让人头疼得很.不过, 阿里巴巴出了一款名叫Arth ...
最新文章
- 第七届“数学、计算机与生命科学交叉研究” 青年学者论坛
- 字节、腾讯、阿里的开发为啥都在用Python?网友:又酸又香!
- windows下在计算机上远程登陆云服务器操作
- 【华为云实战开发】8.如何快速搭建C#网站并实现持续集成?
- Python压缩多个属于不同驱动器的文件夹至同一个zip文件
- 力扣429. N 叉树的层序遍历(JavaScript)
- 使用DataX从ORACLE同步数据到MYSQL
- 为什么不能在字符串上使用switch语句?
- Java使用DES加密解密
- [bzoj2752]高速公路 题解(线段树)
- ChatGPT翻译怎么样-ChatGPT批量翻译工具软件
- linux 嵌入式开发常用网站整理
- notes-ThinkCMF视频教程 第一期(网易云课堂)
- M1芯片安装CocoaPods问题
- ERROR: After October 2020 you may experience errors when ins
- TensorFlow学习--函数逼近(RBF神经网络)
- 5分钟LaTex快速入门(超简洁全面)
- 怎么将翼型导入catia_CATIA翼型数据导入与曲面生成CATIA翼型数据导入与曲面生成.doc...
- C++ 中的 EOF
- fastjson中对象转换中看到的一些现象
热门文章
- 《Gradle权威指南》--Android Gradle多项目构建
- 如何解决Django与Vue语法的冲突
- 我的Android进阶之旅------解决:debug-stripped.ap_' specified for property 'resourceFile' does not exist....
- 314.二叉树的垂直遍历
- linux内核通俗理解,简洁明了!高手带你理解ARM-Linux的启动过程
- 消防信号总线原理_消防设施操作员关键技能之八:能通过总线式消防联动控制器启动警报等装置...
- html的定位属性,CSS之定位属性
- 125万像素智能相机收费站解决方案
- 镜头的分类及选购指南
- 微信小程序连接本地接口(转)