配置javafx-maven-plugin以创建没有版本号的jar文件

时间:2017-04-27 12:12:53

标签: java maven javafx

我无法阻止我的javafx-maven-plugin将版本号插入到jar文件名中。我试图将finalName设置为“$ {pom.artifactId}”,但这没有帮助。

我该怎么办?

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

1 个答案:

答案 0 :(得分:0)

这是一个古老的问题,但是:

1。以这种方式插入最终的jar名称:

   <build>
        <finalName>your.customname.without.versionNumber</finalName>

2。编辑javafx-maven-plugin配置,在配置标签上添加技巧:

     <jfxMainAppJarName>${project.build.finalName}.jar</jfxMainAppJarName>

完整的配置应如下所示:

          <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>8.8.3</version>
                <configuration>
                    <jfxMainAppJarName>${project.build.finalName}.jar</jfxMainAppJarName>
                    <mainClass>com.my.amazingapp.MainClassName</mainClass>
                    <vendor>The Tiger Programmer</vendor>
                    <manifestAttributes>
                        <developer>Me</developer>
                        <contact>me@company.com</contact>
                    </manifestAttributes>
                </configuration>
            </plugin>

现在,如果您的finalName是“ MyAmazingProject”,则在运行“ mvn clean jfx:jar”后,您将在/target/jfx/app/MyAmazingProject.jar下找到文件MyAmazingProject.jar

此jar是带有清单信息的可执行jar。

致谢