赞
踩
目录
本文主要内容为:涉及maven的学习,maven的基本介绍,idea下的maven基础设置,pom文件初始化内容含义,以及如何使用maven命令,再进行衍生,如何在linux系统上启动运行封装好的jar包。
随着越来越多的框架,项目中的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
主版本号一般在修改了产品方向的新功能修改,次版本号在新增类、接口时修改。
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>标签下导入所需要的坐标。
在idea中,点击右侧maven,打开Lifecycle,可以看到很多maven的常用命令。
以下就各个常用的命令进行介绍。
清理编译或打包后的项目结构,也就是会把target文件删除。
编译项目,生成target文件,将当前项目中的字节类,编译为字节码文件。
mvn compile只能编译核心程序,如果要编译测试程序,需要使用mvn test-compile
打包项目,生成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>
打包后上传到maven本地仓库。安装后,其他本地项目可以<dependency>引入mvn package打包好的jar包。
本地仓库:小节“二、idea中设置maven”下,设置的maven依赖存储路径。
只打包,上传到maven私服仓库。
执行测试源码,会在target文件夹下生成test-classes文件夹。注意:该命名会执行test文件,并给出报告,其中,报告在surefire-reports文件夹下。
在maven工程中,test文件下,主要是用于单测的书写,其中需要注意:
当存在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/
当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 &
以上是maven的整篇文章,可以实现对maven常见命令的基本熟悉。运行jar包小节作为参考,代码已在Liunx系统上运行过,功能需求可能有不同,可供参考。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。