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
posted @ 2023-11-26 17:29  suyanhj  阅读(54)  评论(0)    收藏  举报