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

一种从Maven原型构建可执行JavaFX Jar的方法

戎兴言
2023-03-14

我想为一个稳定的JavaFX(Java8)Maven构建设置一个原型,它将生成一个(总是)从命令行运行的可执行JAR。而且最好不需要构建UberJar或类似的工具。

当我们使用Netbeans的“Maven JavaFX”原型时,生成的JAR文件将在构建之后运行。随着项目的发展,我们发现有时JAR不能从命令行运行。需要对Maven POM进行一些编辑,以“鼓励”程序再次从命令行运行。这适用于Linux和Windows。

这也直接发生在ZenJava JavaFX原型中,例如一个项目Artifactid=xx:

 java -jar target\xx.jar
 no main manifest attribute, in target\xx.jar
    null

NetBeans

  • ArchetypeArtifactid=JavaFX
  • archetypeGroupid=org.codehaus.mojo.archetypes

比较得到的POM文件可以看出,Codehaus.mojo(netbeans)在html" target="_blank">构建中使用了这些插件:

    null

当构建的JAR不能在命令行上运行时,是什么允许Netbeans(比方说)执行JAR的呢?

  • Netbeans在执行步骤中添加了什么“魔法”?

zenjava原型运行“java-jar”需要什么?

    null
    null

不用说,Maven生成和构建步骤使用的是JDK Java环境。但是,java-jar target/xx-001.jar的执行需要在简单的JRE(没有JDK)下运行。我想问题4是一个很长的延伸,除非您是一个拥有大型JavaFX项目并且已经解决了这个问题的人。欢迎提出建议。

共有1个答案

孟征
2023-03-14

只需提一下:我是javafx-maven-plugin(和原型)的维护者。

回答您的问题3:

您必须从插件调用生成的JAR文件,该文件位于target/jfx/app/yourapp.jar

 类似资料:
  • 问题内容: 我试图使用maven为名为“ logmanager”的小型家庭项目生成可执行jar,如下所示: 如何使用Maven创建具有依赖项的可执行JAR? 我将此处显示的代码段添加到pom.xml中,并运行了mvn assembly:assembly。它在logmanager / target中生成两个jar文件:logmanager-0.1.0.jar和logmanager-0.1.0-jar

  • 我制作了一个Java应用程序,它使用Maven、JavaFX和一些其他依赖项。以前,构建一个可执行jar很容易,但由于Java11是模块化的,不包含JavaFX,所以我无法构建一个工作的jar。 我已经尝试了很多事情,但我不知道我现在应该做什么。 我的pom。xml 我试图构建包含所有依赖项的工件,但在运行(java-jar)时出现了一个错误: 编辑 我曾尝试使用Jlink构建一个包含JavaFX

  • 问题内容: 我们有一个使用Maven作为其构建/依赖管理工具的项目。但是我们的代码需要在客户的站点上进行编译,并且客户要求我们交付为Ant编写的构建脚本。 因此,当我们需要将代码交付给客户端时,我们希望继续使用Maven并自动生成Ant脚本。 我们能做到吗? 问题答案: 您可以使用Maven Ant插件。

  • 我正在创建一个maven原型。在这里,我有一个原型项目,当用户调用以下命令时,它会为用户创建: MVN原型:生成-DArchetypeGroupId=xxx-DArchetypeArtifactId=Archtype-yyyy-DArchetypeVersion=1.1.0-S5-SNAPSHOT-DgroupId=zzz-DartifactId=pro11 在prototype pom中,我想使

  • 我正在尝试建立基于Maven的应用程序的jar文件。所以我不需要将外部jar库包含到我的构建中。我需要我的应用程序在运行时从本地maven存储库或从本地文件夹提供这种外部依赖,这些将包含这些外部库。我为此依赖项配置pom文件,如下所示: 并尝试使用前缀运行这个jar。我正在用这个答案。