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

使用JavaFX部署NetBeans应用程序

轩辕成天
2023-03-14

我试图在NetBeans中构建一个可以部署到用户和最终用户的应用程序。我对部署项目还是相当陌生的,这是迄今为止我做过的最复杂的一个,所以请容忍我。我目前在NetBeans中有一个工作应用程序,它利用JDK15和JavaFX15。只要我在NetBeans内部运行,一切都会按预期运行。我已经到了我想确保我可以在NetBeans之外发布这个应用程序的地步。为此,我进行了一些搜索,找到了以下教程。

https://netbeans.org/kb/articles/javase-deploy.html

我能够遵循教程并构建示例。该构建在NetBeans中工作,我能够从命令行运行dist文件夹中的可执行jar文件,并且能够通过从文件资源管理器执行jar文件来运行jar文件。现在,当我试图用我自己的项目做同样的过程时,我遇到了以下错误。

  1. 当我试图在dist文件夹中运行jar文件时,绝对没有发生任何事情
  2. 当我尝试使用命令行运行jar文件时

java-jar“C:\Workspace\handyVersion1\u 2\dist\handydyVersion1\u 2.jar”

我收到以下错误,

错误:缺少JavaFX运行时组件,运行此应用程序需要这些组件。

我目前的假设是,第一个问题是第二个问题的副产品。如果任何人有这个问题的解决方案或任何关于我可能配置错误的想法,请让我知道,并提前感谢大家。

共有1个答案

袁开宇
2023-03-14

现在要打包Java桌面应用程序,您应该使用jpack工具,也可以选择使用jlink工具。这些将生成一个JRE映像,该映像与应用程序打包在一起,并包含您需要的模块。

我怀疑您遇到的问题是JavaFX的本机库不存在。JDK 15的大多数发行版不包含JavaFX模块,尽管有些包含。(请参阅Azul和Bellsoft的JDK的完整和FX捆绑包)。我发现使用捆绑了JavaFX的JDK比在开发JavaFX的jmod文件时管理单独的模块路径更容易,但这是另一种选择。这两种方法都可以与jlink一起使用,为包含JavaFX模块的应用程序创建合适的JRE。

 类似资料:
  • 我试图用netbeans和Tomcat8部署java应用程序。单击debug时,在“Apache Tomcat或Tomee”选项卡中出现异常: 用netbeans和Tomcat进行部署还有另一种方法吗?我不想总是用Sudo从控制台运行netbeans。

  • 我遵循了https://blog.jetbrains.com/idea/2013/03/packaging-javafx-2-applications-in-intellij-idea-121/中的步骤 但是当我尝试构建工件时,在最后一步中,我得到了这个错误 错误:Java FX Packager:无法生成工件-FX:Deploy在此JDK中不可用 这里有一个快速测试的hello world应用程

  • 我有一个web应用程序,我一直在工作。我最近不得不重新映像我的计算机,我安装了与我的计算机以前运行的映像完全相同的映像,但是web应用程序不会通过Apache Netbeans 11.1部署在Tomcat9.0服务器上。 我安装的Apache Tomcat9.0、MySQL8.0和Apache Netbeans IDE11.1版本与上一个映像中使用的版本完全相同。我已经设置了与Web服务器和MyS

  • 我一直试图将JavaFX应用程序与Oracle客户机(ojdbc6)嵌入到同一个JAR中进行部署。 如果通过IntelliJ运行应用程序,则应用程序运行良好并连接到数据库,但一旦运行“package”任务并尝试通过双击jar或运行: 应用程序启动,但它不会连接到DB: 我刚刚开始使用maven,我不太确定我的配置是否正确: •我尝试将ojdbc6.jar添加到全局库: •我尝试将ojdbc6.ja

  • Requirements 运行一个Spark Streaming应用程序,有下面一些步骤 有管理器的集群-这是任何Spark应用程序都需要的需求,详见部署指南 将应用程序打为jar包-你必须编译你的应用程序为jar包。如果你用spark-submit启动应用程序,你不需要将Spark和Spark Streaming打包进这个jar包。 如果你的应用程序用到了高级源(如kafka,flume),你需

  • 我正在研究Terraform以及如何使用它来设置AWS环境。到目前为止,我已经有了用3个公共子网、3个私有子网、一个互联网网关和3个Nat网关设置VPC的脚本。然而,我对如何在私有子网中部署和重新部署应用程序感到困惑? 在我的场景中,我们使用Spring Boot构建微服务。我们的想法是转移到一种状态,在这种状态下,我们可以将弹性负载平衡器连接到公共子网,并在私有子网中的自动缩放组中承载我们的应用