簡體   English   中英

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

[英]How to combine javafx-maven-plugin and maven-assembly-plugin?

我有一個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軟件包”時,正在構建一個jar文件,但它不包含jfx-jar文件,但包含某種“ jar wihout jfx support”版本。 如何告訴Maven組件插件使用jfx插件(位於jfxAppOutputDir(../jfx/app/)中的jar版本)?

我自己發現了問題。

  1. 具有“沒有主清單屬性”錯誤的jar文件是由maven-jar-plugin創建的。 但是可以將其配置為忽略該創建。 如果您有興趣,請看一看: “什么是避免行屍走肉的最佳方法”
  2. 程序集插件正常工作。 這都是我的錯。 我認為程序集插件會創建一個包含所有依賴項的jar文件,包括所有資源文件(資源文件夾中的所有文件)。 我的錯。 “帶有依賴項的jar”包括所有屬於該項目的jar,僅此而已。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM