【问题标题】:JavaFX Maven Plugin: com.zenjava - jfx:jar to include all depedencies?JavaFX Maven 插件:com.zenjava - jfx:jar 包含所有依赖项?
【发布时间】:2017-07-29 22:00:55
【问题描述】:

有没有办法通过运行 javafx maven 插件的 jfx:jar 目标将所有依赖项包含在生成的 jar 中?

目前,所有项目依赖项都存储在名为“lib”的文件夹中。

我正在寻找一种生成 javafx 可执行 jar 的方法,例如 eclipse Project > Export > Runnable Jar 设置如何具有此选项:

其他一些信息: 目前,如果我使用 jfx:jar,生成的 jar 约为 150kb,除非存在依赖库,否则不会运行。

但是,如果我使用上面显示的 eclipse 可运行 jar 导出选项,生成的 jar 约为 40,000kb,并且可以自行运行。

我的 pom:

    <properties>
        <jfx.output.dir>${project.build.directory}/application/</jfx.output.dir>
    </properties>
    .
    .
    .
            <plugins>
                <plugin>
                    <groupId>com.zenjava</groupId>
                    <artifactId>javafx-maven-plugin</artifactId>
                    <version>8.7.0</version>
                    <configuration>
                        <mainClass>my.main.class.Main</mainClass>
                        <jfxAppOutputDir>${jfx.output.dir}</jfxAppOutputDir>
                        <allPermissions>true</allPermissions>
                    </configuration>
                </plugin>
            </plugins>

【问题讨论】:

    标签: java eclipse maven javafx jar


    【解决方案1】:
            <plugins>
                <plugin>
                    <groupId>com.zenjava</groupId>
                    <artifactId>javafx-maven-plugin</artifactId>
                    <version>8.7.0</version>
                    <configuration>
                        <mainClass>my.main.class.Main</mainClass>
                        <jfxAppOutputDir>${jfx.output.dir}</jfxAppOutputDir>
                        <allPermissions>true</allPermissions>
                    </configuration>
                </plugin>
            </plugins>
    

    这个插件没有帮助在 ubuntu 中捆绑原生打包 .ie .deb 文件不起作用。 Java 社区应该致力于原生捆绑。

    【讨论】:

      【解决方案2】:

      有一段时间了,但我决定回答这个问题。
      我通过使用另一个我不熟悉的插件解决了我的问题。

      希望这对其他人有所帮助!

           <plugin>
              <artifactId>maven-assembly-plugin</artifactId>
              <executions>
                  <execution>
                      <id>create-executable</id>
                      <phase>package</phase>
                      <goals>
                          <goal>single</goal>
                      </goals>
                  </execution>
              </executions>
              <configuration>
                  <outputDirectory>${test.pack.dir}</outputDirectory>
                  <appendAssemblyId>false</appendAssemblyId>
                  <descriptorRefs>
                      <descriptorRef>jar-with-dependencies</descriptorRef>
                  </descriptorRefs>
                  <archive>
                      <manifest>
                          <mainClass>my.main.class.Main</mainClass>
                      </manifest>
                  </archive>
              </configuration>
          </plugin>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-08
        • 1970-01-01
        • 2022-01-22
        • 1970-01-01
        • 2017-07-04
        • 1970-01-01
        相关资源
        最近更新 更多