exe 安装程序) 完整错误: C:\Users\*\Documents\NetBeansProjects\-6ren">
gpt4 book ai didi

java - 尝试创建 EXE 文件时出现 "Unable to create javax script engine for javascript"错误

转载 作者:行者123 更新时间:2023-12-05 01:23:44 32 4
gpt4 key购买 nike

我在尝试使用 Netbeans 13 生成 .exe 文件时遇到了这个问题。(打包为 -> exe 安装程序)

完整错误:

C:\Users\*\Documents\NetBeansProjects\*\nbproject\build-native.xml:428: The following error occurred while executing this line:
C:\Users\*\Documents\NetBeansProjects\*\nbproject\build-native.xml:436: Unable to create javax script engine for javascript
BUILD FAILED (total time: 4 seconds)

有谁知道这里似乎有什么问题以及如何解决它?

更新:

操作系统:Windows 10

JavaFX: javafx-sdk-17.0.2

JDK:jdk-17.0.2

我在期待什么?

  • 我需要 .exe 文件

实际上没有必要发布代码,因为构建项目和运行项目本身都很顺利(没有错误)。尝试使用打包为 -> EXE 安装程序生成 .exe 安装程序文件后出现问题(如图所示):Actions taken

您可以返回查看完整错误,当我打开 build-native.xml 文件时,它指向这些代码行:

  <target name="-jfx-copylibs" depends="init,compile,-pre-pre-jar,-pre-jar,-jfx-copylibs-warning" unless="fallback.no.javascript">
<jfx-copylibs-js-impl/>
</target>
<target name="-jfx-copylibs-warning" if="fallback.no.javascript">
<echo message="Warning: Dependent Libraries copy (-jfx-copylibs) skipped in fallback build mode due to JDK missing JavaScript support."/>
</target>
<macrodef name="jfx-copylibs-js-impl">
<sequential>
<local name="run.classpath.without.build.classes.and.dist.dir"/>
<pathconvert property="run.classpath.without.build.classes.and.dist.dir">
<path path="${run.classpath}"/>
<map from="${basedir}${file.separator}${build.classes.dir}" to=""/>
<map from="${basedir}${file.separator}${dist.jar}" to=""/>
<scriptmapper language="javascript">

第 428 行在哪里:

<target name="-jfx-copylibs" depends="init,compile,-pre-pre-jar,-pre-jar,-jfx-copylibs-warning" unless="fallback.no.javascript">
<jfx-copylibs-js-impl/>

第 436 行在哪里:

    <pathconvert property="run.classpath.without.build.classes.and.dist.dir">

最佳答案

您尝试做的事情根本不会按照您尝试做的方式工作:

  1. 作为 EXE 工具的 NetBeans 包(当前)已过时。

  2. 它不适用于现代 Java 和 JavaFX 版本。

  3. 它使用 JDK 中的 JavaScript,它已在 JDK 15 中从 JDK 中删除。 .

  4. 它使用 javafxpackager tool and ant javafx tasks它不再存在于 JDK 中并被 jpackage 取代在 JDK 16 中。

  5. 它依赖于将 JavaFX 打包到类路径上的一个大 jar 中,这是自 Java 11 以来不受支持的执行配置。当 JavaFX 从 Oracle JDK 发行版中删除并作为一组模块分发时。

  6. 它依赖于现已过时的第 3 方 Wix 和 InnoSetup 软件版本。

documentation for the NetBeans export to EXE feature状态:

This tutorial needs a review. You can open a JIRA issue, or edit it in GitHub following these contribution guidelines.

它需要审查的原因是该功能将无法像当前在 NetBeans 中为最近的 Java 和 JavaFX 版本实现的那样工作。它可能适用于 Oracle 的过时 Java 8 版本,如果您可以获得兼容的第 3 方软件来支持它的使用。您可能需要将您的应用程序编写为使用 Oracle Java 8,并需要 IDE 和应用程序构建过程在 Oracle Java 8 下运行(这对于最新的 NetBeans 版本来说可能是不可能的)。

对于替代方案,请研究 packaging resources in the JavaFX tag .

关于java - 尝试创建 EXE 文件时出现 "Unable to create javax script engine for javascript"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71928637/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com