天天看點

JavaFx使用maven-jar-plugin打成jar包

使用maven-jar-plugin打包

先要使用插件:maven-dependency-plugin,将依賴拷貝到lib下,以免找不到依賴,程式不能正常運作

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>groupId</groupId>
    <artifactId>fx-demo-2</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--添加一個依賴-->
    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.72</version>
        </dependency>
    </dependencies>

    <!--建構插件-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>

                <configuration>
                    <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>

                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <!--指定主類-->
                            <mainClass>sample.Main</mainClass>
                        </manifest>

                        <manifestEntries>
                            <Class-Path>./</Class-Path>
                        </manifestEntries>

                    </archive>
                </configuration>
            </plugin>


            <!--在打包階段将依賴的jar包導出到lib目錄下-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <type>jar</type>
                            <includeTypes>jar</includeTypes>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>


</project>      

打包結果:

依賴被拷貝到了 lib 中

JavaFx使用maven-jar-plugin打成jar包

參考

maven打包插件maven-jar-plugin