如果我有一个Java源文件(*.java)或一个类文件(*.class),我该如何将其转换为.exe文件?
我还需要一个程序安装程序.
我是Java编程的新手,但我一般都熟悉一切是如何工作的.我希望能够将jar文件和jre放入windows可执行文件(exe)中,这样当我分发它时,客户端不需要安装JRE.我应该使用什么程序?
我有launch4j,它似乎正是我想要的,但是当我尝试运行应用程序时,我得到"这个应用程序被配置为使用捆绑的Java运行时环境,但运行时丢失或损坏."
我希望我的应用程序只是一个可运行的exe,而不是安装程序.至少,有人能告诉我如何正确地将一个JRE与launch4j捆绑在一起吗?
我正在尝试使用maven依赖项创建一个JFX11自包含jar.从我所做的研究来看,似乎最好的方法是通过maven shade插件.但是,当我运行它时,我收到此错误:
错误:缺少JavaFX运行时组件,并且需要运行此应用程序
我不明白为什么会这样.我搞砸了什么?有一个更好的方法吗?我也用同样的消息尝试了maven程序集插件.
pom文件供参考
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Application</groupId>
<artifactId>Main</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>SpaceRunner</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>10</release>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>Application.Main</mainClass>
</configuration>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>
Application.Main
</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>Application.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution> …Run Code Online (Sandbox Code Playgroud) 我是编程领域的新手.已经使用C++大约5个月了,并且已经决定我想开始进入Java.我使用Eclipse作为我的IDE,显然是使用Java语言.我正在尝试编写一个简单的HelloWorld应用程序,它可以通过命令提示符可执行文件运行.
在Visual Studio中,创建可执行文件似乎相当容易.我所要做的就是使用下拉箭头选择Release,然后运行我的构建.希望能够在命令提示符下编写/运行Java的目的是让我能够在使用Swing完全使用之前练习一些语言基础知识.
那么底线,创建用Java编写的命令提示符.exe的最简单方法是什么?
提前致谢!
我在尝试使用 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)
Run Code Online (Sandbox Code Playgroud)
有谁知道这里似乎有什么问题以及如何解决它?
更新:
操作系统:Windows 10
JavaFX:javafx-sdk-17.0.2
JDK:jdk-17.0.2
我在期待什么?
确实不需要发布代码,因为构建项目和运行项目本身都很顺利(没有错误)。尝试使用 Package As -> EXE Installer 生成 .exe 安装程序文件后出现问题(如图所示):
您可以返回查看完整错误,当我打开 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 …Run Code Online (Sandbox Code Playgroud) 使用javafx创建了一个非常简单的GUI,试图测试创建javafx exe的工作原理,从Eclipse中提取了一个可运行的jar文件,但除非我使用cmd并添加VM参数--module-path“”--add,否则该文件不会运行-modules=javafx.controls,javafx.fxml,所以我尝试使用 launch4j 从该 jar 文件制作一个 exe,它会将我重定向到 java.com/downloads,所以我现在将 JRE bin 和 lib 文件夹与 exe 文件一起嵌入根本不运行。我错过了什么或者做错了什么吗?
java ×7
exe ×3
javafx ×3
launch4j ×2
compilation ×1
eclipse ×1
installer ×1
jar ×1
java-17 ×1
javafx-11 ×1
maven ×1
native-code ×1
netbeans ×1
netbeans-13 ×1