maven工具
maven工具
Maven翻译为"专家"、"内行",是Apache基金会旗下的一个纯Java开发的开源项目,Maven是一个项目管理工具,可以对Java项目进行构建、解决打包依赖等
可rpm安装,可二进制安装
官网下载:
清华镜像源:http://mirrors.tuna.tsinghua.edu.cn/apache/maven
POM( Project Object Model,项目对象模型)
是Maven工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖等,在执行任务或目标时,Maven会在当前目录中查找pom文件,通过读取pom文件获取所需的配置信息,然后执行目标
Pom文件中可以指定以下配置:
- 项目依赖
- 插件
- 执行目标
- 项目构建 profile
- 项目版本
- 项目开发者列表
- 相关邮件列表信息
mvn程序
配置文件:settings.xml
配置国内镜像源
方法1:非交互式修改
sed -i -e '/\/mirrors/i\ <mirror>' \
-e '/\/mirrors/i\ <id>aliyunmaven</id>' \
-e '/\/mirrors/i\ <mirrorOf>*</mirrorOf>' \
-e '/\/mirrors/i\ <name>阿里云公共仓库</name>' \
-e '/\/mirrors/i\ <url>https://maven.aliyun.com/repository/public</url>' \
-e '/\/mirrors/i\ </mirror>' \
/etc/maven/settings.xml
方法2:settings.xml编辑
<mirror>
<id>tsinghua-mirror</id>
<mirrorOf>*</mirrorOf>
<name>清华镜像</name>
<url>https://mirrors.tuna.tsinghua.edu.cn/maven/maven2/</url>
</mirror>
mvn命令
必须在pom.xml文件的目录执行编译
mvn [选项] 子命令
选项:
-T 4 分配4个线程编译
-T 2C 分配2核cpu编译
-Dmaven.test.skip=true 跳过测试,且不编译测试源代码
-DskipTests 跳过测试,但编译测试代码
-Dmaven.compile.fork=true 启用多线程编译
-XX:+TieredCompilation -XX:TieredStopAtLevel=1 加速jvm速度
-X debug模式
-Dmaven.artifact.threads=10 #多线程下载
-Dmaven.javadoc.skip=true
-Dfindbugs.skip=true
-Dcheckstyle.skip=true
--projects 项目 构建指定项目
子命令:
clean 清除编译后的项目文件,一般是target目录中的
install 将打包的jar/war文件复制到你的本地仓库中,供其他模块使用
package 项目打包工具,会在模块下的target目录生成jar或war等文件
由于maven是基于jvm,所以可以为它设置jvm参数
MAVEN_OPTS="-Xmx6g -Xms6g"
案例
构建dubbo-admin
1)安装maven
2)下载dubbo-admin源码
git clone --depth=1 https://github.com/apache/dubbo-admin.git
vim dubbo-admin/dubbo-admin-server/src/main/resources/application.properties
admin.registry.address=zookeeper://2.2.2.12:2181 |zookeeper://2.2.2.22:2181 |zookeeper://2.2.2.32:2181
admin.config-center=zookeeper://2.2.2.12:2181 |zookeeper://2.2.2.22:2181 |zookeeper://2.2.2.32:2181
admin.metadata-report.address=zookeeper://2.2.2.12:2181 |zookeeper://2.2.2.22:2181 |zookeeper://2.2.2.32:2181
3)对java代码编译
必须在pom.xml文件的目录执行编译
export MAVEN_OPTS="-Xmx6g -Xms6g -XX:+TieredCompilation -XX:TieredStopAtLevel=1"
mvn -T 4C clean package -Dmaven.test.skip=true -Dmaven.compile.fork=true
4)启动dubbo-admin-server服务
访问:http://localhost:38080
账号/密码: root/root
mvn --projects dubbo-admin-server spring-boot:run

浙公网安备 33010602011771号