Java开发+Intellij-idea+Maven+工程构建

news2024/11/18 21:38:12

Java开发+Intellij-idea+Maven+工程构建

Intellij-idea是一款流行的Java集成开发环境,它支持Maven作为项目管理和构建工具。Maven可以帮助开发者自动下载项目依赖的jar包,执行编译、测试、打包等生命周期任务。本资源将介绍如何在Intellij-idea中创建、导入、转换和编译Maven工程,以及如何配置Maven的相关参数和插件。本资源适合对Java开发和Maven感兴趣,想要在Intellij-idea中使用Maven进行工程构建的开发者、学生、老师等人群。本资源的使用场景和目标是:在Intellij-idea中使用Maven来管理和构建Java工程,提高开发效率和质量。

最近效应项目的要求,学习在idea上编写项目。作为一个新手遇到问题也算是正常的,重要的是把它解决,get新技能。

编写过maven工程的小伙伴们应该都知道怎么在eclipse中编译maven工程:右键工程–> run as -->maven install。简单明了。

但是在idea上maven工程有自己的窗口,而且窗口中的maven项目的目录与project窗口中的目录不一样。在这里我就分享一下自己的经验。

1、打开maven项目窗口:工具栏–>Help–>Find Action,在弹出的窗口里的文本框输入:maven projects

在这里插入图片描述

2、在打开的maven project窗口中,点击YourProject->Lifecycle->package->Run Maven Build执行打包,生成的war默认在工程的target目录下。

在这里插入图片描述

IDEA如何执行maven命令

在IDEA主界面左下角找到 Terminal 点击进入,直接输入想执行的命令即可。

Exec Maven Plugin全面解析和使用示例

1.为什么使用exec?

现在的工程往往依赖
众多的jar包,不像war包工程,对于那些打包成jar包形式的本地java应用来说,通过java命令启动将会是一件极为繁琐的事情,原因很简单,太
多的依赖让参数-classpath变得异常的恐怖。为此,在发布应用时,一般使用两种方法来启动应用程序:一种是通过工具将工程及其所有依赖的jar包
打包成一个独立的jar包(在maven里有两个插件assemly和shade是用来完成这种工作的);另一种方法是编写一个run.bat文件,文件
包含一个启动应用的java命令,很显然,这个命令的classpath必须包含全部依赖的jar包。但是对于尚处在开发阶段的应用来说,第一种方法需要
将所有jar包解压再重新打包,因此非常耗时,特别是工程非常大的时候。第二种方法的问题在于,对处在开发阶段的工程,经常需要引入或升级jar包,这就
需要频繁地修改run.bat文件。实际上,对于使用maven管理的工程,完全可以通过maven来获取工程的classpath,简化应用程序的启动
命令,这正是maven插件exec被设计出来的主要动机。使用exec比使用java命令去启动应用程序最大的优势就在于:你不需要再去为-classpath而伤脑筋了。

2. exec:exec和exec:java的区别

exec
主要由两个goal组成:exec:exec和exec:java。你应该如何选择呢?首先,你需要记住,exec:exec总是比exec:java强
大而灵活,这一点会在后面的示例中体现出来,除此之外,两者的主要区别是在线程管理上:exec:exec总是启动一个新的线程,并且在只剩下守护线程的
时候从VM上退出(关闭应用程序)。而对于exec:java,当所有非守护线程结束时,守护线程会被joine或interrupt,应该程序不会关
闭。但是对于一般的使用者来说,这种差别并不重要。对于两者的选择,一般来说,如果你的工程启动非常简单,不需要设置jvm参数、系统属性、命令行参数,
那么就用exec:java,你只需要指定一下mainClass,一切就OK了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MATLAB二维与三维绘图实验

本文MATLAB源码,下载后直接打开运行即可[点击跳转下载]-附实验报告https://download.csdn.net/download/Coin_Collecter/88740747 一、实验目的 掌握图形对象属性的基本操作。掌握利用图形对象进行绘图操作的方法。 二、实验内容 利用图形对象绘制曲线&#xff…

亚信安慧AntDB超融合框架——数智化时代数据库管理的新里程碑

在信息科技飞速发展的时代,亚信科技AntDB团队提出了一项颠覆性的“超融合”理念,旨在满足企业日益增长的复杂混合负载和多样化数据类型的业务需求。这一创新性框架的核心思想在于融合多引擎和多能力,充分发挥分布式数据库引擎的架构优势&…

钉钉逐浪AI Agent

文|郝 鑫 编|刘雨琦 “大公司代表落后生产力,是慢半拍的”,“小创新靠大厂,大创新仍然要靠小厂”,这是以李彦宏和王小川为代表的创业老炮,在2023年总结出来的创新规律,从移动互…

图形化编程:以Scratch引领少儿编程思维启蒙之旅

在21世纪科技飞速发展的今天,编程教育已经成为培养未来人才的重要途径。而“少儿编程”这一概念的提出,正是为了让孩子们从小接触并理解计算机逻辑,锻炼他们的创新思维与问题解决能力。其中,图形化编程以其直观易懂、趣味性强的特…

手把手教你VS code文件如何在顶部自动生成作者,修改日期等信息

1、安装插件KoroFileHeader 2、左下角选择管理---设置---输入"fileheader"---点击"在setting.json中编辑" 输入"fileheader"-点击"在setting.json中编辑" fileheader 必须的基础配置: 头部注释模板与函数注释模板 复制:…

C++(1) —— 基础语法入门

目录 一、C初识 1.1 第一个C程序 1.2 注释 1.3 变量 1.4 常量 1.5 关键字 1.6 标识符命名规则 二、数据类型 2.1 整型 2.2 sizeof 关键字 2.3 实型(浮点型) 2.4 字符型 2.5 转义字符 2.6 字符串型 2.7 布尔类型 bool 2.8 数据的输入 三…

【C++】static_cast和dynamic_cast使用详解

目录 一、static_cast二、dynamic_cast三、总结如果这篇文章对你有所帮助,渴望获得你的一个点赞! 一、static_cast static_cast 是 C 中的一种类型转换操作符,用于执行编译时的类型转换。它主要用于在不损失 const 限定的前提下进行各种合法…

【WSL】Win10 使用 WSL2 进行 Linux GPU 开发

1. GPU 驱动 先安装 驱动 参考 https://docs.nvidia.com/cuda/wsl-user-guide/index.html 使用 https://www.nvidia.com/Download/index.aspx 提供的兼容 GeForce 或 NVIDIA RTX/Quadro 显卡在系统上安装 NVIDIA GeForce Game Ready 或 NVIDIA RTX Quadro Windows 11 显示驱动…

Eclipse的安装与使用

Eclipse的安装与使用 “工欲善其事,必先利其器”,高效的开发工具,不但能带来高体验的开发环境,还能带来高效的纠错与开发提示等功能,下面介绍一种Java常用的开发工具——Eclipse。 1.1 Eclipse的安装与启动 Eclipse的…

MK-米客方德TF卡和SD卡的区别

TF卡和SD卡的区别 TF卡也叫MicroSD卡,以MK-米客方德的TF卡和SD卡为例,TF卡和SD卡的区别如下: 1、物理尺寸: TF卡:TF卡是一种较小尺寸的存储卡,也被称为MicroSD卡。其尺寸为15mm 11mm 1mm。 SD卡&#x…

k8s--动态pvc和pv

目录 前情回顾 动态pv 实验模拟 步骤一:在stor01节点上安装nfs,并配置nfs服务 接下来在matser01上配置 步骤二:创建 Service Account,用来管理 NFS Provisioner 在 k8s 集群中运行的权限和动态规则 步骤三:使用 Deploy…

python实现网络爬虫代码_python如何实现网络爬虫

python实现网络爬虫的方法:1、使用request库中的get方法,请求url的网页内容;2、【find()】和【find_all()】方法可以遍历这个html文件,提取指定信息。 python实现网络爬虫的方法: 第一步:爬取 使用reque…

基于ssm的疫苗预约系统论文

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装疫苗预约系统软件来发挥其高效地信息处理的作用&#xff0c…

SpringCloud.03.网关Gateway

目录 网关Gateway的概念: 准备 使用 方式一 因为配置了网关所以可以直接通过gateway发送请求 方式二 修改配置前:http://localhost:8082/provider/run 方式三(动态路由) 导入配置类 网关Gateway的概念: Spring Cloud Gateway 是 Spri…

如何统一给文件夹名加后缀?这个方法教你一键搞定

随着计算机的普及,我们每天都会处理大量的文件和文件夹。有时候,为了更好地管理和分类文件,我们会给文件夹统一加上后缀。给文件加上后缀后最直接的好处就是方便文件管理。当我们给文件夹加上后缀时,我们可以很容易地根据后缀来判…

如何创作出优秀的电子邮件营销(EDM)?

EDM出现的时间很早,是非常传统的一种推广方式。即便是其他推广方式的蓬勃兴起,EDM依旧深受很多行业的喜爱。主要源于它极高的性价比,据可靠数据,EDM的投资回报比达1:48。 那一封优秀的EDM应该是怎么样的呢?…

校园失物招领系统的设计与实现-Flask+Mysql+LayUI

1.设计要求: 2.python项目结构: 3.开发工具:PyCharmNavicat for MySQL 数据库表设计: 4.运行效果截图: (1) 管理员登录页 (2)管理员界面: (3)物品登记页面&…

进阶Docker3:Dokerfile构建镜像

目录 Dockerfile 构建基础镜像 基本机构 命令: 命令解释: 准备工作 创建镜像 上传镜像 Dockerfile Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使 用Docke…

升降式OLED透明屏,影响价格的因素有这6大方面

以下是一篇关于升降OLED透明屏的文章,包括其规格、实现原理、应用领域、特色优势和价格等方面: 升降OLED透明屏的规格升降OLED透明屏的尺寸可以根据不同的需求进行定制,尺寸范围从32英寸到200英寸不等。同时,它的厚度不到1厘米&am…

小程序中使用微信同声传译插件实现语音识别、语音合成、文本翻译功能----语音合成(二)

官方文档链接:https://mp.weixin.qq.com/wxopen/plugindevdoc?appidwx069ba97219f66d99&token370941954&langzh_CN#- 要使用插件需要先在小程序管理后台的设置->第三方设置->插件管理中添加插件,目前该插件仅认证后的小程序。 语音合成…