maven命令:clean、compile、package等,联合idea先容(附加,Linux运行封 ...

打印 上一主题 下一主题

主题 700|帖子 700|积分 2100

目录
一、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时候有以下依赖坐标:
  1. <dependency>
  2.     <groupId>org.apache.logging.log4j</groupId>
  3.     <artifactId>log4j-core</artifactId>
  4.     <version>2.12.1</version>
  5. </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中添加以下代码即可。
  1. <build>
  2.     <plugins>
  3.         <plugin>
  4.             <groupId>org.apache.maven.plugins</groupId>
  5.             <artifactId>maven-war-plugin</artifactId>
  6.             <version>3.2.2</version>
  7.         </plugin>
  8.     </plugins>
  9. </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命令为:
  1. 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直接运行:
  1. chmod +x jarfile.jar
复制代码
在堡垒机中,存在多个运行历程,此时,读者的功能是对当前Java历程进行扫描(读者如不需要可直接运行java -jar jarfile.jar)。
查询本机Java历程命令为:
  1. ps -ef | grep java
复制代码
假设得到历程号为126。在SpringBootApplication启动类中,如果存在需要的输出内容,这时可以将打印写入到指定“applicationOut.log”文件夹:
  1. java -Djava.ext.dirs=/home/export/servers/jdk-1.6.0_25/lib/
  2. -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 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表