因此,我一直在编写一个简单的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执行,而不是双击执行?相关推荐

  1. mave本地导入mysql的jar包_将本地的jar包引入到maven项目中

    首先进入到maven的目录下,并且将要引入的jar包也放在这个目录下 然后执行命令 mvn install:install-file -Dfile=checkDataAdapter-api.jar - ...

  2. java md5加密 jar包_练习MD5加密jar包编写

    简介 参数签名可以保证开发的者的信息被冒用后,信息不会被泄露和受损.原因在于接入者和提供者都会对每一次的接口访问进行签名和验证. 签名sign的方式是目前比较常用的方式. 第1步:接入者把需求访问的接 ...

  3. java.exe闪退_java 双击jar包闪退或没反应,使用cmd运行提示没有主清单属性,该如何解决...

    java 双击jar包闪退或没反应,使用cmd运行提示没有主清单属性 使用cmd把类打包成课双击执行的jar包,双击后没反应,然后我去修改注册表 HKEY_CLASSES_ROOT\jarfile\s ...

  4. idea无法导入主题jar包_若依微服务版后台服务通过jar包部署到Windows服务器

    场景 若依微服务版手把手教你本地搭建环境并运行前后端项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303 在前 ...

  5. 在cmd或者powerShell窗口运行java的jar文件

    在cmd或者powerShell窗口运行java的jar文件 在桌面进入 在桌面进入cmd或者powerShell窗口运行本文采用cmd的窗口进行演示,powerShell窗口和cmd窗口输入命令一样 ...

  6. java如何将war包打成ear包_关于war包 jar包 ear包 及打包方法

    关于war包 jar包 ear包 及打包方法 war包:是做好一个web应用后,通常是网站打成包部署到容器中 jar包:通常是开发的时候要引用的通用类,打成包便于存放管理. ear包:企业级应用 通常 ...

  7. eclipse导入jar包_在命令行上操作JAR,WAR和EAR

    eclipse导入jar包 尽管Java IDE和许多图形工具使查看和操作Java归档文件(JAR,WAR和EAR)文件的内容比以往更加容易,但有时我还是更喜欢使用命令行jar命令来完成这些任务. 当 ...

  8. spring boot jar包_「Spring Boot 新特性」 jar 大小自动瘦身

    自动分析瘦身 Spring Boot 项目最终构建处理 JAR 包大小一直是个诟病,需要把所有依赖包内置最终输出可运行的 jar.当然可以使用其他的插件扩展 实现依赖 JAR 和 可运行 jar 分离 ...

  9. 替换jar包_替换代码的情况下不停机!这操作可能工作6年的Java程序员都不会

    相信很多人都有这样一种感受,自己写的代码在开发.测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,而线上调试代码又很麻烦,让人头疼得很.不过, 阿里巴巴出了一款名叫Arth ...

最新文章

  1. 第七届“数学、计算机与生命科学交叉研究” 青年学者论坛
  2. 字节、腾讯、阿里的开发为啥都在用Python?网友:又酸又香!
  3. windows下在计算机上远程登陆云服务器操作
  4. 【华为云实战开发】8.如何快速搭建C#网站并实现持续集成?
  5. Python压缩多个属于不同驱动器的文件夹至同一个zip文件
  6. 力扣429. N 叉树的层序遍历(JavaScript)
  7. 使用DataX从ORACLE同步数据到MYSQL
  8. 为什么不能在字符串上使用switch语句?
  9. Java使用DES加密解密
  10. [bzoj2752]高速公路 题解(线段树)
  11. ChatGPT翻译怎么样-ChatGPT批量翻译工具软件
  12. linux 嵌入式开发常用网站整理
  13. notes-ThinkCMF视频教程 第一期(网易云课堂)
  14. M1芯片安装CocoaPods问题
  15. ERROR: After October 2020 you may experience errors when ins
  16. TensorFlow学习--函数逼近(RBF神经网络)
  17. 5分钟LaTex快速入门(超简洁全面)
  18. 怎么将翼型导入catia_CATIA翼型数据导入与曲面生成CATIA翼型数据导入与曲面生成.doc...
  19. C++ 中的  EOF
  20. fastjson中对象转换中看到的一些现象

热门文章

  1. 《Gradle权威指南》--Android Gradle多项目构建
  2. 如何解决Django与Vue语法的冲突
  3. 我的Android进阶之旅------解决:debug-stripped.ap_' specified for property 'resourceFile' does not exist....
  4. 314.二叉树的垂直遍历
  5. linux内核通俗理解,简洁明了!高手带你理解ARM-Linux的启动过程
  6. 消防信号总线原理_消防设施操作员关键技能之八:能通过总线式消防联动控制器启动警报等装置...
  7. html的定位属性,CSS之定位属性
  8. 125万像素智能相机收费站解决方案
  9. 镜头的分类及选购指南
  10. 微信小程序连接本地接口(转)