Maven在java中的实现(对java的项目进行打包)

前言:

        在前面的文章中我们了解了Maven的作用,并在自己的电脑上安装配置好了Maven,也成功的在IDEA中添加了Maven,但是具体的实现还是有一些些小问题,那么接下来,我将带着大家对Java项目进行一次打包,系统的完成一次,并在途中解决一下会出现的问题.

我以图片中选中的这个包为例,用Maven进行打包

鼠标右击这个包,然后点击Add Framework Support...

进入到这个窗口,左侧栏最底下找到Maven,勾选上后,OK确认

然后就会自动创建.xml的文件,你需要在其中添加一些标签,来为打包做准备

添加了两部分:一部分为设置Java源代码兼容性和编译器版本;一部分为打包的小程序(代码如下)

<properties>
        <maven.compiler.source>1.8</maven.compiler.source> <!-- 设置 Java 源代码兼容性 -->
        <maven.compiler.target>1.8</maven.compiler.target> <!-- 设置编译的目标 JVM 版本 -->
    </properties>
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <!--给 jar 包起的别名-->
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <!--添加项目中主类-->
                            <mainClass>com.ffyc.chatrom.client.frame.Run</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

注意:在小程序中,需要你添加项目中主类(main函数)

如果你的这个代码中引用了其他的jar包,你还需要添加依赖信息(以MySQL为例)

<dependencies>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
</dependencies>

Maven 仓库官网(http://mvnrepository.com/)如下图所示: 在此官网就可以下载自己所需开发 jar 包

还有一件事:

在你的settings中,按照图中所示找到位置,检查一下Maven home directory;User settings file;Local repository这三个是否配置好了(否则Maven在添加jar包会很慢很慢)

检查无误后,再点击这个按钮刷新(一般在页面的右上角)

注意你的右侧栏,Maven的指令在这里面,点击maven,就会出现状态栏

第一次打包就一次点击compile-->package即可(是双击哦,单击可不会运行)

之后如果对文件进行了修改,需要重新打包的话,就在这两步之前,双击clean即可

然后你要打包的这个包里面就会出现target文件夹,点击进去,底下有两个jar包,最底下的那个jar包就是你最终打的包,将这个jar包发送给你的朋友,即使他没有安装IDEA,也能运行这个程序了!(但是需要安装JDK哦,否则依旧是运行不了)

怎么运行呢?

桌面右击,打开终端,输入命令:java -jar 文件名.jar  即可运行

(别傻傻的把这么长的文件名输进去,你可是可以更改文件名的哦)

至此,Maven打包就讲解完毕啦!礼成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/311015.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jsPlumb、mxGraph和Antv x6实现流程图选型

解决方案 结合我们项目以及主流解决方案&#xff0c;提供以下几种方案&#xff1a; 序号技术栈性质是否开源说明1jsPlumb国外框架社区版、商业版中台项目现有方案2mxGraph国外框架开源比较有名的开源绘图网站draw.io &#xff08;和processOn类似&#xff09;&#xff0c;使用…

力扣日记1.10-【二叉树篇】701. 二叉搜索树中的插入操作

力扣日记&#xff1a;【二叉树篇】701. 二叉搜索树中的插入操作 日期&#xff1a;2024. 参考&#xff1a;代码随想录、力扣 —————————————————————— 天哪&#xff0c;上次打开力扣还是2023&#xff0c;转眼已经2024&#xff1f;&#xff01; 两个星期过去…

软件测试|如何在Linux中下载和安装软件包

简介 在Linux操作系统中&#xff0c;下载和安装软件包是一项基本任务。不同的Linux发行版可能有不同的包管理工具和方式&#xff0c;但总体流程是类似的。以下是在Linux中下载和安装软件包的详细步骤。 步骤1&#xff1a;选择适当的包管理工具 因为Linux有不同的发行版本&am…

代码随想录算法训练营第23天 | 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 总结篇

669. 修剪二叉搜索树 题目链接&#xff1a; 669. 修剪二叉搜索树 给定一个二叉搜索树&#xff0c;同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[L, R]中 (R>L) 。你可能需要改变树的根节点&#xff0c;所以结果应当返回修剪好的二…

Vue与后端交互、生命周期

一&#xff1a;Axios 1.简介 ① Axios 是一个基于 promise 的 HTTP 库&#xff0c;可以用在浏览器和 node.js 中 ② axios官网&#xff1a;axios中文网|axios API 中文文档 | axios 2.实例 json文件&#xff1a;film.json&#xff08;这里只是一部分&#xff0c;原代码太多…

语义解析:如何基于SQL去实现自然语言与机器智能连接的桥梁

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 语义解析 定义 作用 语义解析的应用场景 场景一&#xff1a; 场景二&#xff1a; 总结语…

RISC-V是如何与X86、ARM三分天下

目录 1.行业CPU指令集格局 2.汽车中的RISC-V进展 2.1 国际进展 2.2 国内进展 3.小结 2023年3月2日&#xff0c;在平头哥牵头举办的玄铁RISC-V生态大会上&#xff0c;工程院院士倪光南表示&#xff0c;基于RISC-V模块化、可扩展、容易定制、不受垄断制约等优势&#xff0c;…

山羊目标检测数据集VOC格式290张

山羊&#xff0c;一种聪明而机敏的哺乳动物&#xff0c;以其独特的形态和特点而受到人们的喜爱。 山羊的体型中等&#xff0c;四肢强健&#xff0c;有着坚硬的蹄子和浓密的毛发。它们的头部较大&#xff0c;有着一对弯曲的角&#xff0c;角上有很多节状突起。山羊的毛色多为棕…

美国生物医学博士后最低年薪有望涨至7万美元

2023年底&#xff0c;美国国立卫生研究院&#xff08;NIH&#xff09;咨询小组发布了一份报告&#xff0c;建议将生物医学领域博士后的最低起薪从目前的56 484美元/年提高到70 000美元/年。知识人网小编结合我们了解到的情况&#xff0c;整理文章如下。 去年&#xff0c;我们知…

浅析NVMe key per IO加密技术-2

二、Key per IO功能设置的流程 设置Key Per I/O功能需要对NVMe存储设备进行一系列配置&#xff0c;涉及多个步骤和能力要求。以下是一个简化的流程概述&#xff1a; 硬件支持&#xff1a;首先&#xff0c;NVMe固态硬盘支持Key Per I/O技术&#xff0c;并且了解相关的NVM Expre…

使用 OpenAI 自定义 API 提高电商平台的推荐精度

一、引言 在当今的电商时代&#xff0c;推荐系统已成为影响用户购买决策的关键因素之一。为了提供更精准的推荐&#xff0c;许多电商平台纷纷寻求先进的技术支持。OpenAI 自定义 API 正是这样一种强大而灵活的工具&#xff0c;能够通过自然语言处理和机器学习技术&#xff0c;…

C++上位软件通过Snap7开源库访问西门子S7-200/LOGO PLC/合信M226ES PLC V存储区的方法

前言 在前面例程中谈到了C 通过Snap7开源库S7通信库跟西门子S7-1200PLC/S7-1500PLC以及合信CTMC M226ES PLC/CPU226 PLC通信的方式方法和应用例程。但是遗憾的是Snap7中根据官方资料显示只能访问PLC的 DB区、MB区、C区、T区 、I区、Q区&#xff0c;并没有提到有关如何访问S7-20…

SpringBoot+Hutool实现图片验证码

图片验证码在注册、登录、交易、交互等各类场景中都发挥着巨大作用&#xff0c;能够防止操作者利用机器进行暴力破解、恶意注册、滥用服务、批量化操作和自动发布等行为。 创建一个实体类封装&#xff0c;给前端返回的验证码数据&#xff1a; Data public class ValidateCodeV…

PyCharm使用手册

配置文件和代码模板 文件注释模板&#xff1a; 注释项描述示例Project项目名称hello_pythonFile文件名称hello_python.pyAuthor作者Zhang SanDate创建时间2024-01-11 17:05:00PyVersionPython解释器版本Python3.7Description文件描述这是一个python语言入门文件 效果示例&am…

【SSO】统一授权中心v1.0.0版本正式上线(多租户)

目录 背景 体验 技术栈 菜单 示例 背景 为了方便权限管理、用户登录授权、应用授权等&#xff0c;特地开发了当前的统一授权中心。 体验 邮箱注册即可登录体验 后台系统&#xff1a;https://sso.behappyto.cn/#/switch 技术栈 vue3tsspringbootmybatismysql 菜单 …

【2023回顾】2024,放马过来吧

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 &#x1f438;哈哈虽然不是技术文&#x…

idea 设置文件头

idea 设置创建文件时自动添加文档注释信息 /** * Description * Author jimaomao * DATE ${DATE} ${TIME} */

第11届电气与电子工程国际会议(ICEEE 2024)即将召开!

2024年第11届电气与电子工程国际会议(ICEEE 2024)将于2024年4月22-24日在土耳其马尔马里斯召开。随着电气和电子工程领域取得的重大进步&#xff0c;ICEEE也迈向未来&#xff0c;有了更多令人兴奋的发展。本次会议旨在促进对该领域最新技术进步、新兴趋势和创新理念的讨论&…

ARP协议详解

1、ARP协议的定义 地址解析协议(Address Resolution Protocol&#xff0c;ARP)&#xff1a;ARP协议可以将IPv4地址(一种逻辑地址)转换为各种网络所需的硬件地址(一种物理地址)。换句话说&#xff0c;所谓的地址解析的目标就是发现逻辑地址与物理地址的映射关系。 ARP仅用于IPv…

Ubuntu 卸载重装 Nvidia 显卡驱动

问题描述 我使用 airsim 的时候&#xff0c;发现 UE4 没法使用显卡&#xff0c;导致非常卡顿 输入 nvidia-smi 有显卡型号等信息的输出&#xff0c;但是进程 process 里面没有显示 airsim 和其他软件占用显卡情况 因此&#xff0c;我选择了卸载重装 一.卸载旧版本的驱动 …