首页 > 其他分享 >idea配置maven插件打包所有jar到lib

idea配置maven插件打包所有jar到lib

时间:2024-05-27 15:45:04浏览次数:25  
标签:maven 插件 依赖 lib plugin JAR jar Maven

在 IntelliJ IDEA 中配置 Maven 插件以将所有依赖的 JAR 打包到一个 lib 文件夹中,通常不是通过直接配置 IDEA 来完成的,而是通过在 Maven 项目的 pom.xml 文件中添加相应的配置来实现的。

下面是一个简单的步骤指南,说明如何在 Maven 项目中实现这一目标:

添加 Maven 依赖插件: 在你的 pom.xml 文件中,添加 Maven 依赖插件(如 maven-dependency-plugin)的配置,用于复制依赖项到指定的目录。

<build>  
    <plugins>  
        <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-dependency-plugin</artifactId>  
            <version>3.2.0</version> <!-- 使用时请检查最新版本 -->  
            <executions>  
                <execution>  
                    <id>copy-dependencies</id>  
                    <phase>package</phase>  
                    <goals>  
                        <goal>copy-dependencies</goal>  
                    </goals>  
                    <configuration>  
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>  
                    </configuration>  
                </execution>  
            </executions>  
        </plugin>  
    </plugins>  
</build>

在这个配置中, 标签指定了依赖项将被复制到的目录,即 ${project.build.directory}/lib,这通常对应于 target/lib。
执行 Maven 打包命令: 在 IntelliJ IDEA 中,你可以通过右侧的 Maven 工具窗口执行 Maven 命令。展开 Lifecycle 节点,并双击 package 任务。这将触发 Maven 构建过程,包括上面配置的 copy-dependencies 执行阶段。
检查复制的 JAR 文件: 构建完成后,你可以在项目的 target/lib 文件夹中找到所有复制的依赖 JAR 文件。
请注意,这个方法是将依赖项复制到 target/lib 文件夹中,而不是直接打包到一个 JAR 文件中。如果你想要将所有依赖项和你的项目代码打包到一个可执行的 JAR 文件中(即所谓的“胖 JAR”或“uber JAR”),你需要使用 maven-assembly-plugin 或 maven-shade-plugin。

如果你确实想要创建一个包含所有依赖的 JAR 文件,下面是一个使用 maven-assembly-plugin 的示例配置:

<plugin>  
    <artifactId>maven-assembly-plugin</artifactId>  
    <version>3.3.0</version> <!-- 使用时请检查最新版本 -->  
    <configuration>  
        <archive>  
            <manifest>  
                <mainClass>your.main.Class</mainClass> <!-- 替换为你的主类 -->  
            </manifest>  
        </archive>  
        <descriptorRefs>  
            <descriptorRef>jar-with-dependencies</descriptorRef>  
        </descriptorRefs>  
    </configuration>  
    <executions>  
        <execution>  
            <id>make-assembly</id> <!-- this is used for inheritance merges -->  
            <phase>package</phase> <!-- bind to the packaging phase -->  
            <goals>  
                <goal>single</goal>  
            </goals>  
        </execution>  
    </executions>  
</plugin>

在这个配置中,maven-assembly-plugin 将创建一个包含所有依赖项和项目代码的 JAR 文件。记得将 标签中的 your.main.Class 替换为你的项目的主类。执行 Maven 的 package 阶段后,你应该会在 target 文件夹中找到一个名为 [artifactId]-[version]-jar-with-dependencies.jar 的文件。

标签:maven,插件,依赖,lib,plugin,JAR,jar,Maven
From: https://www.cnblogs.com/muphy/p/18215686

相关文章

  • python模块之smtplib邮件处理模块
    要求:发送一封简单的邮件发送html格式的邮件在邮件中带图片发送邮件步骤:1.登录邮件服务器2.构造符合邮件协议规则的邮件内容3.发送python对SMTP支持有smtplib和email模块,email负责构造邮件,smtplib负责发送邮件importsmtplibfromemail.mime.textimportMIMETextf......
  • matplotlib-折线图的常用操作合集
    序言:感悟:复杂的折线图,都是由基础的折线图慢慢加工绘制而成,我们通过绘制出基本折线图,然后分析需要添加的功能,慢慢润色图形即可完成复杂的图形绘制。折线图:以折线的上升或下降来表示统计数量的增减变化的统计图特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)我们以一个......
  • 中文乱码,matplotlib正确显示中文的三种方式
    如果未使用显示中文的方式,则往往会出现下图的情况:标题将会乱码显示方块那么,我们将如何将其正确显示中文呢? 下面是解决中文乱码不显示的方法:方法一:修改局部字体样式,在需要显示中文的地方增加 fontproperties 属性。importmatplotlib.pyplotasplt   #导库plt......
  • custom:用户自定义插件,提供开放能力
    custom插件的功能:支持用户在右键菜单中自定义插件。简介custom插件大量采用声明式代码(声明代替代码开发),比如:只需使用style=()=>"...",即可注册css。只需使用styleTemplate=()=>({renderArg}),即可引入css文件,并且支持渲染模板。只需使用html=()=>"...",即......
  • 【BI 可视化插件】怎么做? 手把手教你实现
    背景对于现在的用户来说,插件已经成为一个熟悉的概念。无论是在使用软件、IDE还是浏览器时,插件都是为了在原有产品基础上提供更多更便利的操作。在BI领域,图表的丰富性和对接各种场景的自定义是最吸引人的特点。虽然市面上现有的BI软件内置了许多图表组件和自定义属性设置,但......
  • ret2libc
    https://files.cnblogs.com/files/blogs/820854/ret2libc.ppt?t=1716737413&download=truefrompwnimport*e=ELF('./pwn')#调用目标文件的elf文件libc=ELF('./libc-2.31.so')#调用libc版本文件puts_plt=e.plt['puts']#调用......
  • ftplib库-制作简易ftp客户端
    #获取上一次的参数try:withopen("./FtpGUI-Python-Configure.cache","r",encoding="utf-8")asf:cfglist=f.read().split("\n")except:cfglist=["","","",""]importtk......
  • kubectl自动补全插件
    1.安装bashcompletionyuminstall-ybash-completion2.修改配置补全脚本在文件~/.bashrc中导入(source)补全脚本:echo'source<(kubectlcompletionbash)'>>~/.bashrc将补全脚本添加到目录/etc/bash_completion.d中:kubectlcompletionbash>/etc/bash_comp......
  • 网易云音乐插件使用教程,地址:music.163.com
    参看官方教程:点击“生成外链播放器”链接,跳转到选择自己喜欢的播放器风格及尺寸,目前官方支持两个风格勾选是否自动播放。是,别人访问网站时播放器会自动开始播放;否,别人访问网站时播放器需要手动播放音乐......
  • 五、SpringCloud alibaba 之 网关GateWay
    详细的网关学习可以参考:https://www.jianshu.com/p/8749dfe9832ehttps://www.zhihu.com/column/c_1357481230536216576https://www.cnblogs.com/bjlhx/category/1273947.html6.1、网关介绍什么是网关顾明思议,网关就是网络的关口。数据在网络间传输,从一个网络传输到另一网络......