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>
目录
相关文章
|
机器人 jenkins Java
jenkins pipeline流水线集成jacoco,sonar,robot framework,jmeter,fortify
jenkins pipeline流水线集成jacoco,sonar,robot framework,jmeter,fortify
1269 0
jenkins pipeline流水线集成jacoco,sonar,robot framework,jmeter,fortify
|
Docker 容器
【Docker系列】Docker-compose 安装neo4j
neo4j 数据迁移有很多种方案,这里选择dump文件的方式迁移,该方式需要停止neo4j 服务,然后执行迁移命令,但是使用官方镜像部署的neo4j,进入容器内使用neo4j stop会提示服务没有运行。1,准备好迁移的文件dump文件,放置到运行着neo4j容器挂载映射的。退出临时容器,启动原neo4j容器。4.0.0版本 相关脚本,可忽略。neo4j 服务进程kill 掉。,打开web界面验证数据导入成功。,直接就可以看到效果,如下。,会发现容器直接退出了。新的临时neo4j 容器。
1200 0
【Docker系列】Docker-compose 安装neo4j
|
机器学习/深度学习 API 开发工具
通义千问API入门教程
本教程将带你从零开始,快速了解如何通过 API 使用通义千问大模型,并尝试使用大模型 API 开发一些简单的应用应用到工作中,提升效率。
|
4月前
|
人工智能 架构师 程序员
用户说 | 手把手体验通义灵码 2.0:AI 程序员如何让我从“调参侠”进阶“架构师”?
通义灵码 2.0 是强大的 AI 编程工具,助力开发者从“调参侠”进阶为“架构师”。它支持跨语言开发、智能单元测试生成和图生代码等功能,显著提升开发效率。新增 QwQ 模型具备“代码脑补”能力,可推荐性能优化策略。尽管功能强大,但仍需注意环境隔离与代码审查,避免过度依赖。通义灵码 2.0 不仅是工具,更是开发者的“外接大脑”,帮助应对全栈开发挑战。
306 0
|
4月前
|
定位技术 网络安全 数据安全/隐私保护
部署Halo开源建站工具
Halo是一款强大易用的开源建站工具,拥有丰富的主题模板与插件,可以快速帮助您构建理想的网站。本文主要介绍使用Halo应用镜像快速部署Halo开源建站工具。
|
Python
Python线程锁(Thread Lock)和进程锁(Process Lock)
Python线程锁(Thread Lock)和进程锁(Process Lock)
628 0
|
机器学习/深度学习 自然语言处理 搜索推荐
1024——通义·灵码的功能以应用以及实践案例测评
本文档介绍了阿里巴巴旗下的通义·灵码大模型产品,涵盖其核心功能如文本生成、语义理解、情感分析、多模态处理等,并展示了在智能客服、金融智能投顾、电商推荐系统等多个领域的应用实例。通过具体代码示例,演示了如何调用通义·灵码的API实现自动回复、投资建议、新闻摘要生成等功能。最后,通过实际案例解析,评估了通义·灵码的新功能及其优化建议,包括安全性改进和代码优化策略。
1326 0
1024——通义·灵码的功能以应用以及实践案例测评
|
编译器 开发工具 C++
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
7072 0
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
3365 7
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
安全 Java API
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
阿里云短信服务提供API/SDK和控制台调用方式,支持验证码、通知、推广等短信类型。需先注册阿里云账号并实名认证,然后在短信服务控制台申请资质、签名和模板,并创建AccessKey。最后通过Maven引入依赖,使用工具类发送短信验证码。
5547 3
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)