论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
中间件
›
中间件
›
maven命令:clean、compile、package等,联合idea先容( ...
maven命令:clean、compile、package等,联合idea先容(附加,Linux运行封 ...
北冰洋以北
论坛元老
|
2024-8-30 01:11:38
|
显示全部楼层
|
阅读模式
楼主
主题
1957
|
帖子
1957
|
积分
5871
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
目录
一、maven先容
二、idea中设置maven
三、maven命令使用
mvn clean:
mvn compile:
mvn package:
mvn install:
mvn deploy:
mvn test:
四、Linux运行封装的jar包
本文主要内容为:涉及maven的学习,maven的基本先容,idea下的maven底子设置,pom文件初始化内容寄义,以及怎样使用maven命令,再进行衍生,怎样在linux系统上启动运行封装好的jar包。
一、maven先容
随着越来越多的框架,项目中的jar包越来越多,需要下载jar包,放在当前工程指定位置,通过maven可以管理项目,依赖对应的jar包可以主动下载。使用maven可以主动化构建、测试、打包和发布项目。在依赖中,包含:
groupID:公司业务线名
artifactID:产品线名-模块名
version:版本号
如引入log4j2时候有以下依赖坐标:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
复制代码
此中,版本号一样平常包罗:主版本号.次版本号.修订号
eg:初始1.0.0 -> 修改bug 1.0.1 -> 功能调整 1.1.1
主版本号一样平常在修改了产品方向的新功能修改,次版本号在新增类、接口时修改。
二、idea中设置maven
maven安装比较简单,直接官网下载安装就行。对于maven的设置,主要包罗:选择maven安装路径,配置私服steeings.xml,设置项目jar包存放路径。
当创建好maven项目后,在默认pom坐标中,有以下代码,详细释义如下:
在上图的行号9后,通过<packaging>jar</packaging>,可以设置当前项目打jar包,web工程需要打war包。
maven基本设置先容完了,那么怎样得到坐标呢?
可以通过https://mvnrepository.com/查询常用jar包依赖。serarch后,点击所需要的jar包,建议选择使用量较多的版本号,则可以得到jar包的依赖坐标。在pom中<dependencies>标签下导入所需要的坐标。
三、maven命令使用
在idea中,点击右侧maven,打开Lifecycle,可以看到很多maven的常用命令。
以下就各个常用的命令进行先容。
mvn clean:
整理编译或打包后的项目布局,也就是会把target文件删除。
mvn compile:
编译项目,天生target文件,将当前项目中的字节类,编译为字节码文件。
mvn compile只能编译核心步伐,如果要编译测试步伐,需要使用mvn test-compile
mvn package:
打包项目,天生jar或war文件,需要留意test代码必须都通过,否则会打包失败。项目默认时,是天生jar包,最终天生如下箭头所示:
打包成war包过程中,可能会报错“import: Enty[import from realm ClassRealm[maven. api, parent: null]]”,这是由于war包打包插件和jdk版本不匹配:pom.xml中添加以下代码即可。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
</plugins>
</build>
复制代码
mvn install:
打包后上传到maven本地仓库。安装后,其他本地项目可以<dependency>引入mvn package打包好的jar包。
本地仓库:末节“二、idea中设置maven”下,设置的maven依赖存储路径。
mvn deploy:
只打包,上传到maven私服仓库。
mvn test:
执行测试源码,会在target文件夹下天生test-classes文件夹。留意:该定名会执行test文件,并给出陈诉,此中,陈诉在surefire-reports文件夹下。
在maven工程中,test文件下,主要是用于单测的誊写,此中需要留意:
测试类中,测试方法名,必须以test开头定名
测试类必须以Test定名开头或结尾,建议**Test。
只有当定名规范,maven才气识别到测试类。
四、Linux运行封装的jar包
当存在springboot项目时,代码中包罗@SpringBootApplication及其启动类。按住键盘ctrl,通过mvn clean、mvn package封装当前项目为jar包。
依赖于Linux系统的开源性、安全性、稳定性、灵活性以及低本钱,项目代码是基于Linux系统运行的。
此时,在堡垒机中,需要先将jar包上传到指定文件夹下。假设需要上传到/export/servers/jdk-1.6.0_25/lib/目录下,Linux命令为:
scp /path/to/your/local/jarfile.jar username@linux_server_ip:/home/export/servers/jdk-1.8.0_201/lib/
复制代码
将 /path/to/your/local/jarfile.jar 更换为你本地JAR包的路径。
将 username 更换为你在Linux系统中的用户名。
将 linux_server_ip 更换为你的Linux服务器的IP所在。
输入你的Linux系统暗码(如果需要)来完成上传。
当jar包被赋予可执行权限后,才可以在Linux直接运行:
chmod +x jarfile.jar
复制代码
在堡垒机中,存在多个运行历程,此时,读者的功能是对当前Java历程进行扫描(读者如不需要可直接运行java -jar jarfile.jar)。
查询本机Java历程命令为:
ps -ef | grep java
复制代码
假设得到历程号为126。在SpringBootApplication启动类中,如果存在需要的输出内容,这时可以将打印写入到指定“applicationOut.log”文件夹:
java -Djava.ext.dirs=/home/export/servers/jdk-1.6.0_25/lib/
-server -jar jarfile.jar 126 > applicationOut.log 2>&1 &
复制代码
java: 运行 Java 步伐的命令
-Djava.ext.dirs=/home/export/servers/jdk-1.6.0_25/lib/: 这是用来指定 Java 扩展库的目录的参数。在这个命令中,指定了 /home/export/servers/jdk-1.6.0_25/lib/ 目录作为 Java 扩展库的目录。
-server: 告诉 JVM 在“server”模式下运行,这样 JVM 会优化为长时间运行的服务。
-jar jarfile.jar: 指定了要执行的 JAR 文件的路径和名称。
126: 运行jar包的历程号。
> sa.log 2>&1: 将标准输出和标准错误输出重定向到 applicationOut.log 文件中。> sa.log 表现将标准输出重定向到 applicationOut.log 文件,2>&1 表现将标准错误输出重定向到标准输出,也就是都输出到 applicationOut.log 文件中。
&: 这个符号表现在配景运行这个命令,这样命令执行后会立即返回,不会壅闭当前终端。
以上是maven的整篇文章,可以实现对maven常见命令的基本熟悉。运行jar包末节作为参考,代码已在Liunx系统上运行过,功能需求可能有不同,可供参考。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
北冰洋以北
论坛元老
这个人很懒什么都没写!
楼主热帖
一零零七、Docker快速入门
超融合,变了?
Linux基础篇(6)---》常用命令大全(网络 ...
鸿蒙最新功能及承载设备详解:HarmonyO ...
代码审计(Java)——WebGoat_Authentica ...
作为开发人员,您应该熟悉的 7 个 Java ...
如何快速而优雅的解决问题(提问的智慧 ...
Kubernetes-namespace
kubernetes之Ingress发布Dashboard(二) ...
零代码,让业务人员实现应用创造自由 ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
人工智能
物联网
云原生
Java
快速回复
返回顶部
返回列表