当前位置: 首页 > 知识库问答 >
问题:

无法运行Launch4j(非法访问)

刘安志
2023-03-14

我想创建一个。我的java桌面应用程序的exe文件。因此,我认为Launch4j是最好的选择。

当我跑的时候。在文件中,我有以下错误消息。

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields (file:/usr/local/Cellar/launch4j/3.12/libexec/lib/xstream.jar) to field java.util.Properties.defaults
WARNING: Please consider reporting this to the maintainers of com.thoughtworks.xstream.core.util.Fields
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsLookAndFeel
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) 
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) 
    at net.sf.launch4j.Main.main(Main.java:59) Caused by: java.lang.ClassNotFoundException: com.sun.java.swing.plaf.windows.WindowsLookAndFeel 
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)   
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)  ... 10 more

我在Mac OS Catalina 10.15.3版下工作。我的Java版本环境:openjdk版本“11.0.7”2020-04-14 openjdk运行时环境采用openjdk(构建11.0.7 10)openjdk 64位服务器虚拟机采用openjdk(构建11.0.7 10,混合模式)

如果你有任何其他项目可以做这项工作,我很高兴知道。事实上,我正在为两个操作系统(Windows和Mac)寻找等同于InnoSetup的东西

谢谢你的帮助

共有2个答案

陶淳
2023-03-14

如果您使用的是java 11和Linux,请下载并安装另一个java版本。我安装了Java8。

运行命令“sudo update alternations--config java”,列出计算机中安装的所有java版本。该命令将提供更改默认java版本的选项。

从11改为8(我不确定其他版本是否有效)。

重新运行命令java-jar launch4j。它应该有用

狄彬彬
2023-03-14

最后,我通过从网站上的存档下载openJDK 9.0.4来运行launch4jhttps://jdk.java.net/archive/.

运行launch4j。使用此java版本手动运行jar,效果如预期:

jdk-9.0.4.jdk/Contents/Home/bin/java -jar ~/Downloads/launch4j/launch4j.jar 
 类似资料:
  • 问题内容: 这是简单的go应用程序。如果运行以下代码,则会出现“运行:无法运行非主程序包”错误。 要解决此问题,我只需要将该包命名为即可。但是我不明白为什么我需要这样做。我应该能够随心所欲地命名包裹。 另一个问题,我知道主要功能是程序的入口点,您需要它。否则它将无法正常工作。但是我看到一些没有主要功能的代码仍然可以使用。 单击此链接,页面底部的示例未使用包main和main函数,它仍然有效。只是好

  • 构建了Docker映像,但当我要运行它时,它显示以下错误: 我的操作系统是Ubuntu18.04.1LTS,我使用docker build-t doc-service和docker run doc-service。 这是我的DockerFile: 有人能帮我吗?

  • 我转换了一个java程序(猜数字游戏)到. jar,但它没有双击运行,所以,运行它在cmd(它的工作)现在我转换为. exe使用启动4j,但应用程序也不工作。救命啊!

  • 我在Windows上安装了Spark,我无法启动。当我输入时,我得到以下错误: Python 3.6.0 | Anaconda custom(64位)|(默认值,2016年12月23日,11:57:41)[MSC v.1900 64位(AMD64)]在win32上键入“帮助”、“版权”、“信用”或“许可证”以了解更多信息。回溯(最近一次调用):文件“c:\Spark\bin..\python\py

  • JDK11+spring批处理 有人知道那些警告是什么意思吗: 警告:发生了非法的反射访问操作警告:org.springframework.cglib.core.reflectutils$1(jar:file:/users/boru/downloads/spcljr/build/libs/spcljr-0.0.1-snapshot.jar!/boot-inf/lib/spring-core-5.0

  • 我部署了一个Neo4j非托管扩展。可以使用REST客户端调用非托管扩展并成功返回结果。问题是,当我尝试从另一个java类调用/调用非托管扩展时,它会继续抛出未经授权的401。 我使用Spring RestTemboard来调用非托管扩展。 我的代码: 完全错误: