gpt4 book ai didi

maven - 如何结合 javafx-maven-plugin 和 maven-assembly-plugin?

转载 作者:行者123 更新时间:2023-12-05 07:43:30 26 4
gpt4 key购买 nike

我有一个 JavaFx 项目,我想将其缩减为一个 jar 文件。我的 pom 包含一个 java-fx 插件:

      <plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.1.4</version>
<configuration>
<mainClass>application.Main</mainClass>
<jfxAppOutputDir>${project.build.directory}/jfx/app</jfxAppOutputDir>
</configuration>
<executions>
<execution>
<id>create-jfxjar</id>
<phase>package</phase>
<goals>
<goal>build-jar</goal>
</goals>
</execution>
</executions>
</plugin>

和一个汇编插件:

            <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<!-- get all project dependencies -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- MainClass in mainfest make a executable jar -->
<archive>
<manifest>
<mainClass>application.Main</mainClass>
</manifest>
</archive>

</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>

当我调用“mvn package”时,正在构建一个 jar 文件,但它不包含 jfx-jar 文件,但包含某种“jar wihout jfx 支持”版本。我如何告诉 Maven 程序集插件使用 jfx 插件(位于 jfxAppOutputDir (../jfx/app/))中的 jar 版本?

最佳答案

自己发现了问题。

  1. 带有“无主要 list 属性”错误的 jar 文件是由 maven-jar-plugin 创建的。但是可以将其配置为省略该创建。感兴趣的可以看看:"what-is-the-best-way-to-avoid-maven-jar"
  2. 程序集插件工作正常。这都是我的错。我认为程序集插件会创建一个包含所有资源文件(资源文件夹中的所有文件)的所有 依赖项的 jar 文件。我的错。 “jar-with-dependencies”包括属于该项目的所有 jar,仅此而已。

关于maven - 如何结合 javafx-maven-plugin 和 maven-assembly-plugin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43636176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com