8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何将我的 Java 程序转换为 .exe 文件?

Remus Rusanu 1月前

88 0

如果我有一个 Java 源文件 (*.java) 或一个类文件 (*.class),我该如何将其转换为 .exe 文件?我还需要一个程序的安装程序。

如果我有一个 Java 源文件 (*.java) 或一个类文件 (*.class),我该如何将其转换为 .exe 文件?

我的程序还需要一个安装程序。

帖子版权声明 1、本帖标题:如何将我的 Java 程序转换为 .exe 文件?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Remus Rusanu在本站《user-interface》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 从 JDK14 开始, jpackage 取代了 javapackager @Jay 回答中提到的内容。Windows 版本需要 Wix 3.0,使用 Java 应用程序并构建提供 EXE 启动器的安装程序相当简单。

    一起使用 jlink ,构建精简版 Java 运行时映像,该映像与安装程序捆绑在一起,仅包含支持应用程序所需的一组模块。 jlink 如果未指定运行时,jpackage 也会隐式运行该步骤,但我更喜欢单独制作 JRE 映像,因为它只会在您更新 JDK 或向项目添加新的模块依赖项时发生变化。

    Java 类的主要示例:

    package exe;
    public class Main {
        public static void main(String[] args) {
            for (int i = 0; i < args.length; i++) {
                System.out.println("args["+i+"]="+args[i]);
            }
        }
    }
    

    以下是在 Windows 上构建的示例步骤 - 显然您需要设置本地构建环境(Maven / ant / etc)来重现此操作:

    mkdir jpackage.input\jars tmp
    javac -d tmp src\exe\Main.java
    pushd tmp && jar cvf ..\jpackage.input\jars\myapp.jar . && popd
    

    检查其运行:

    java -cp jpackage.input\jars\myapp.jar exe.Main X Y Z
    

    使用 jlink 为应用程序使用的模块集创建运行时映像:

    set jlink.modules=java.base
    jlink --add-modules %jlink.modules% --strip-debug --no-man-pages --no-header-files --compress=1 --output jpackage.jre
    

    如果缺少上述模块,您应该检查 jlink JRE 运行时映像是否可以运行您的应用程序:

    jpackage.jre\bin\java -cp jpackage.input\jars\myapp.jar exe.Main X Y Z
    

    使用 jpackage 生成安装程序,应用程序 版本 基于日期+小时(这样就节省了每次重新安装时都需要卸载的步骤)并打印出所有系统属性 - 测试后删除参数 \'-XshowSettings:properties\':

    set appver=%date:~6,2%.%date:~3,2%.%date:~0,2%%time:~0,2%
    jpackage --win-console --input jpackage.input --runtime-image jpackage.jre --app-version %appver% --type exe --name "MyApp" --dest jpackage.dest --java-options "-XshowSettings:properties" --main-jar jars\myapp.jar --main-class exe.Main
    

    运行安装程序:

    jpackage.dest\MyApp-%appver%.exe
    

    测试应用程序:

    "C:\Program Files\MyApp\MyApp.exe" ONE 2 THREE
    
    ... Prints system properties ...
    
    args[0]=ONE
    args[1]=2
    args[2]=THREE
    
返回
作者最近主题: