当谈到java打包的细节时,我是一个完全的新手。
我已经通过jdk-15编写了一个使用java-15的tcp数据服务器,当在vscode下运行时,它运行得非常愉快。
我希望将其作为mrs_server.exe分发,而无需在主机上加载java,也无需分发我的代码。
我已经成功地运行了带有以下内容的jpackagecommands:-
jpackage--键入app image--命名mrsïserver--输入c:\users\steve\documents\workspace1ïneon\piïserver--主jar c:\users\steve\documents\workspace1ïneon\piïserver\piïserver.jar
jpackage--键入exe--应用程序映像mrs\u server--名称mrs\u server
生成mrs_server-1.0.exe。它依次创建了文件夹c:\program files\mrs\u server,其中包含我在mrs\u server\app文件夹中的代码副本,一个mrs\u server\runtime文件夹,我假设该文件夹包含运行服务器所需的所有文件,以及文件mrs\u server.exe和mrs\u server.ico。
此时,我运行c:\ProgramFiles\mrs\U server\mrs\U server.exe。。。什么都没发生!??我已经在没有安全程序的机器上运行了它,并且添加了windows防火墙。它应该打开一个窗口,等待交通,但什么都没有?程序不会显示在任务管理器中。
我错过了什么?我宁愿不用用另一种语言重写服务器。
史蒂夫·霍尔
1条答案
按热度按时间kyvafyod1#
打开
--win-console
要查看应用程序中的实际错误消息,请单击此处查看更多信息。请注意jpackage -add-launcher
对于带有/不带有控制台的版本,在jdk15中不起作用,但是如果使用jdk14或jdk16早期访问就可以了,因此必须在没有控制台的情况下重新构建--win-console
以后如果不需要它永久。同时使用
--app-version
为了确保你的第二个版本的安装擦除第一个版本-更多信息在这里。