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

简介: 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 中

lib.png

参考

maven打包插件maven-jar-plugin

            </div>
目录
相关文章
|
JavaScript
vue elementUI select下拉框设置默认值
vue elementUI select下拉框设置默认值
2185 0
|
开发框架 Go 计算机视觉
纯Go语言开发人脸检测、瞳孔/眼睛定位与面部特征检测插件-助力GoFly快速开发框架
开发纯go插件的原因是因为目前 Go 生态系统中几乎所有现有的人脸检测解决方案都是纯粹绑定到一些 C/C++ 库,如 OpenCV 或 dlib,但通过 cgo 调用 C 程序会引入巨大的延迟,并在性能方面产生显著的权衡。此外,在许多情况下,在各种平台上安装 OpenCV 是很麻烦的。使用纯Go开发的插件不仅在开发时方便,在项目部署和项目维护也能省很多时间精力。
332 5
|
测试技术 数据安全/隐私保护 Java
基于SpringBoot+Vue+uniapp的电商平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的电商平台的详细设计和实现(源码+lw+部署文档+讲解等)
207 0
文本,wangEditor5的基本使用,开发文档地址,wangEditor5用于Vue3项目,想要使用好wangEditor项目,得看开发文档
文本,wangEditor5的基本使用,开发文档地址,wangEditor5用于Vue3项目,想要使用好wangEditor项目,得看开发文档
|
传感器 机器学习/深度学习 算法
Nvidia Isaac Sim介绍 入门教程 2024(1)
Nvidia Isaac Sim是一个为NVIDIA Omniverse平台开发的机器人仿真工具包,提供高保真度的物理仿真和多传感器RTX渲染,支持ROS2并能够生成合成数据集,用于机器人的设计、调试、训练和部署。
2512 0
|
存储 运维 Java
Java中的字节码与JVM指令集详解
Java中的字节码与JVM指令集详解
|
JavaScript 中间件 Python
Django如何配置解决CORS问题
Django如何配置解决CORS问题
403 0
|
JSON Kubernetes API
kubernetes REST Api详解(导入Swagger至Postman)
kubernetes REST Api详解(导入Swagger至Postman)
1204 1
|
前端开发
28-pytest-生成HTML报告
28-pytest-生成HTML报告
PADS Logic将原理图导入到PCB
原理图是使用PADS Logic进行设计的,原理图设计完成之后,需要导入到PADS Layout进行PCB设计,导入方法如下: 点击标准工具栏右边的PADS Layout图标,如下图所示:
2341 0