【Java】 使用 Maven 创建包含依赖的可执行 JAR 文件

>
> 【痕迹】QQ+微信朋友圈和聊天记录分析工具
>
> (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
>
> (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
>
> (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
> 
>  下载地址:https://www.alipan.com/s/x6fqXe1jVg1
>

基本原理

在 Java 开发中,Maven 是一个非常重要的构建工具,它可以帮助我们自动化构建过程,并且管理项目的依赖。当我们需要将一个 Java 应用程序打包成一个可执行的 JAR 文件时,Maven 提供了非常方便的插件来实现这一功能。

代码示例

示例 1: Maven 配置文件(pom.xml)的编写

首先,我们需要在项目的 pom.xml 文件中配置 Maven 插件来打包 JAR 文件。以下是配置 maven-assembly-plugin 插件的一个基本示例:


    

    
        
            
                maven-assembly-plugin
                3.3.0
                
                    
                        
                            com.example.MainClass
                        
                    
                    
                        jar-with-dependencies
                    
                
                
                    
                        make-assembly
                        package
                        
                            single
                        
                    
                
            
        
    

在这个配置中,mainClass 指定了应用程序的入口类,descriptorRef 设置为 jar-with-dependencies 表示生成的 JAR 文件将包含所有依赖。

示例 2: 使用 Maven 命令打包

配置好 pom.xml 文件后,我们可以使用以下 Maven 命令来打包应用程序:

mvn clean compile assembly:single

这个命令会执行清理、编译和打包操作,最终生成一个包含所有依赖的可执行 JAR 文件。

示例 3: 运行可执行 JAR 文件

生成的 JAR 文件通常位于 target 目录下,可以通过以下命令运行:

java -jar target/your-app-1.0-SNAPSHOT-jar-with-dependencies.jar

这里的 your-app-1.0-SNAPSHOT-jar-with-dependencies.jar 是生成的 JAR 文件的名称,根据你的项目配置可能有所不同。

注意事项

  1. 依赖管理:确保 pom.xml 文件中已经正确管理了所有依赖,否则打包时可能会遇到问题。
  2. 入口类:配置 mainClass 时,确保指定的类是应用程序的入口类,并且类路径正确。
  3. 插件版本maven-assembly-plugin 的版本可能会影响打包结果,建议使用最新版本或稳定版本。
  4. 打包阶段assembly:single 目标应该在 package 阶段执行,确保在此之前所有编译工作都已完成。

结论

使用 Maven 创建包含依赖的可执行 JAR 文件是一个简单且高效的过程。通过配置 pom.xml 文件并使用 Maven 命令,我们可以轻松地将 Java 应用程序打包成可执行的 JAR 文件,这不仅简化了部署过程,也使得应用程序的分发变得更加方便。掌握这一技能对于 Java 开发者来说非常重要,它将大大提高你的开发效率和应用的可维护性。

>
> 【痕迹】QQ+微信朋友圈和聊天记录分析工具
>
> (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
>
> (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
>
> (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
>
> 下载地址:https://www.alipan.com/s/x6fqXe1jVg1
>

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Maven Dependency Plugin生成包含system依赖项的可执行jar文件,您需要执行以下步骤: 1. 在您的Maven项目中,创建一个新的Maven模块,用于打包可执行jar文件。您可以使用以下命令创建模块: ``` mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 这将创建一个名为"my-app"的新模块,并使用Maven快速启动原型作为模板。 2. 在模块的pom.xml文件中,添加Maven Dependency Plugin到构建配置中: ``` <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.1</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <includeScope>system</includeScope> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build> ``` 此配置将Maven Dependency Plugin添加到项目构建中,并指示它将复制所有系统依赖项到"target/lib"目录中。 3. 创建执行jar文件。要将项目打包成可执行jar文件,请执行以下命令: ``` mvn package ``` 执行此命令将生成一个名为"my-app-1.0-SNAPSHOT.jar"的可执行jar文件,并将所有系统依赖项复制到"target/lib"目录中。 4. 运行可执行jar文件。要运行生成的可执行jar文件,请使用以下命令: ``` java -cp target/my-app-1.0-SNAPSHOT.jar:target/lib/* com.example.App ``` 此命令将运行名为"com.example.App"的主类,并使用"target/my-app-1.0-SNAPSHOT.jar"作为类路径,并将"target/lib"目录中的所有JAR文件添加到类路径中。 这样,您就可以使用Maven Dependency Plugin生成包含system依赖项的可执行jar文件,并使用Java命令运行它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值