Maven:JavaFX:Bundle libs在一个Jar文件中
我需要一个解决方案将所有lib文件打包到可执行jar文件中。我使用Maven和Maven插件Maven:JavaFX:Bundle libs在一个Jar文件中,java,eclipse,maven,javafx,Java,Eclipse,Maven,Javafx,我需要一个解决方案将所有lib文件打包到可执行jar文件中。我使用Maven和Maven插件javafx Maven插件,Maven编译器插件和Maven surefire插件。我还没有找到一个基于这些插件的解决方案 我希望有人能帮助我。下面是插件的配置 <build> <plugins> <!-- https://github.com/javafx-maven-plugin/javafx-maven-plugin -->
javafx Maven插件
,Maven编译器插件
和Maven surefire插件
。我还没有找到一个基于这些插件的解决方案
我希望有人能帮助我。下面是插件的配置
<build>
<plugins>
<!-- https://github.com/javafx-maven-plugin/javafx-maven-plugin -->
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.1.4</version>
<configuration>
<mainClass>${exec.mainClass}</mainClass>
<verbose>true</verbose>
<jfxAppOutputDir>${project.basedir}/target/output</jfxAppOutputDir>
<jfxMainAppJarName>${project.name}.jar</jfxMainAppJarName>
<allPermissions>true</allPermissions>
<manifestAttributes>
<Specification-Title>${project.name}</Specification-Title>
<Specification-Version>${project.version}</Specification-Version>
<Specification-Vendor>${project.organization.name}</Specification-Vendor>
<Implementation-Title>${project.name}</Implementation-Title>
<Implementation-Version>${build.number}</Implementation-Version>
<Implementation-Vendor-Id>${project.groupId}</Implementation-Vendor-Id>
<Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
<Implementation-URL>${project.organization.url}</Implementation-URL>
</manifestAttributes>
</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-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArguments>
<bootclasspath>${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<skipTests>false</skipTests>
<properties>
<property>
<name>listener</name>
<value>org.sonar.java.jacoco.JUnitListener</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>
</build>
com.zenjava
javafxmaven插件
8.1.4
${exec.mainClass}
真的
${project.basedir}/target/output
${project.name}.jar
真的
${project.name}
${project.version}
${project.organization.name}
${project.name}
${build.number}
${project.groupId}
${project.organization.name}
${project.organization.url}
创建jfxjar
包裹
构建jar
org.apache.maven.plugins
maven编译器插件
3.1
${java.version}
${java.version}
${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar
org.apache.maven.plugins
maven surefire插件
2.19
假的
听众
org.sonar.java.jacoco.JUnitListener
您要找的是uber-jar或shaded-jar。您可以使用以下maven插件:
你要找的是uber-jar或shaded-jar。您可以使用以下maven插件:
你不使用吗?我只使用
mvn clean package
你不使用吗?我只使用mvn clean package
使用javapackager AFAIK。很好。我找到了一个使用maven汇编插件的解决方案
,但是谢谢你:+1:maven Shade插件应该是一个不错的选择。易于设置。有关更多信息,请参阅使用javapackager AFAIK。很好。我找到了一个使用maven汇编插件的解决方案
,但是谢谢你:+1:maven Shade插件应该是一个不错的选择。易于设置。有关更多信息,请参见此