博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven常用命令(转)
阅读量:7052 次
发布时间:2019-06-28

本文共 5612 字,大约阅读时间需要 18 分钟。

Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

Maven库:

Maven依赖查询:

 

【Maven常用命令】(转自:)

1. 创建Maven的普通java项目: 

有下面几种不同的DarchetypeArtifactId

1.省略默认是maven-archetype-quickstart  

mvn archetype:generate -DgroupId=com.xxxx.xxxx -DartifactId=test-project -DarchetypeCatalog=internal -DarchetypeArtifactId=maven-archetype-quickstart

工程目录结构

2.maven-archetype-archetype    包含一个archetype的例子,主要用于当我们要建立自己的archetype的时候

工程目录结构

3.maven-archetype-j2ee-simple    包含一个简单的j2ee应用的例子

工程目录结构

4.maven-archetype-plugin    包含一个Maven plugin的例子

工程目录结构

5.maven-archetype-plugin-site    包含一个Maven plugin site的例子

6.Maven-archetype-portlet    包含一个portlet的例子

打包失败

7.maven-archetype-simple    包含一个简单maven项目

创建失败

8.Maven-archetype-site    包含一个maven site的例子,它能够展示一些支持的文档类型,包括APT、XDoc和FML

工程结构目录

9.Maven-archetype-site-simple    包含一个maven site的例子

 工程目录结构

 

2. 创建Maven的Web项目:   
    mvn archetype:create 
    -DgroupId=packageName    
    -DartifactId=webappName 
    -DarchetypeArtifactId=maven-archetype-webapp    
3. 清理编译:mvn clean compile
4. 清理测试:mvn clean test
5. 清理打包:mvn clean package

6. 带有依赖打包:mvn package assembly:single

7.指定编译版本的打包:mvn package -Dmaven.test.skip=true -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8

8. 清理安装,会安装到~/.m2/目录下面:mvn clean install
9. 生成eclipse项目:mvn eclipse:eclipse 
10. 生成idea项目:mvn idea:idea 
12. 编译测试的内容:mvn test-compile  
13. 只打jar包: mvn jar:jar  
14. 跳过测试:  mvn install -Dmaven.test.skip=true 
15. 指定端口:  mvn -Dmaven.tomcat.port=9090
16. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile ( -skipping 的灵活运用,当然也可以用于其他组合命令)
17. 清除eclipse的一些系统设置: mvn eclipse:clean

18.打包依赖:mvn assembly:assembly,使用后执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.

通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。

发布第三方Jar到本地库中: mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar。

 

19.添加 jar 包到本地仓库

mvn install:install-file 

  -DgroupId=xxx
  -DartifactId=xxx     
  -Dversion=1.0         //版本号
  -Dpackaging=jar               //类型
  -Dfile=d:\xxx-1.0.jar     //jar实际路径

mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar

20.如果遇到mvn package 内存爆掉的情况,增加内存,然后mvn -version查看内存是多少

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"

 

添加打包插件:

maven-compiler-plugin
1.6
1.6
UTF-8
src\main\webapp\WEB-INF\lib

 

【库版本选择】
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>[1.1,)</version>
</dependency>
表达式 含义
(,1.0] version<=1.0
[1.2,1.3] 1.2<=version<=1.3
[1.0,2.0) 1.0<=version<2.0
[1.5,) 1.5<=version
(,1.1),(1.1,) version!=1.1

 

【pom.xml 基本节点】
<project> 根节点
<modelversion> pom.xml 使用的对象模型版本
<groupId> 创建项目的组织或团体的唯一 Id
<artifactId> 项目唯一Id, 项目名
<packaging> 打包扩展名(JAR、WAR、EAR)
<version> 项目版本号
<name> 显示名,用于生成文档
<url> 组织站点,用于生成文档
<description> 项目描述,用于生成文档
<dependency>之<scope> 管理依赖部署

<scope> 可使用 5 个值:
compile 缺省值,用于所有阶段,随项目一起发布
provided 期望JDK、容器或使用者提供此依赖。如servlet.jar
runtime 只在运行时使用
test 只在测试时使用,不随项目发布
system 需显式提供本地jar,不在代码仓库中查找

 

自用maven的setting.xml配置文件

 

nexus-releases
admin
xxx
nexus-snapshots
admin
xxx
mynexus
mynexus
My Nexus
http://tencent:40000/nexus/content/repositories/thirdparty/
repo2
central
Human Readable Name for this Mirror.
http://repo2.maven.org/maven2/
nexus-aliyun
aliyun
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
ui
ui
Human Readable Name for this Mirror.
http://uk.maven.org/maven2/
ibiblio
ibiblio
Human Readable Name for this Mirror.
http://mirrors.ibiblio.org/pub/mirrors/maven2/
nexus
public
Public Repositories
http://tencent:40000/nexus/content/repositories/thirdparty
public
Public Repositories
http://tencent:40000/nexus/content/repositories/thirdparty
nexus

 

 

 

 

 

转载地址:http://bypol.baihongyu.com/

你可能感兴趣的文章
AIoT真正向万亿级市场落地的关键是什么?
查看>>
关于k8s集群容器日志收集的总结
查看>>
WordPress 5文章编辑真难用 换回老版经典编辑器教程
查看>>
第二十二章:动画(三)
查看>>
redis-shake数据迁移工具
查看>>
如何保护对外暴露的 Kubernetes 服务
查看>>
2018年人工智能带来了哪些变化,2019年又会发生什么?
查看>>
Python知识点:理解和使用装饰器 @decorator
查看>>
牵扯256万人!国内一AI公司人脸识别数据泄露
查看>>
Linux基础命令---lpc打印机控制
查看>>
Atari 游戏得分提升两个数量级:Uber AI 的新强化学习算法 Go-Explore
查看>>
4月1日云栖精选夜读 | 代号“凤凰”,阿里新零售秘密武器,今年要打入100个城市...
查看>>
swap file在btrfs分区Invalid argument问题
查看>>
C++面向对象高级编程(上) 第二周 侯捷
查看>>
Python多版本情况下四种快速进入交互式命令行的操作技巧
查看>>
如何在基于Bytom开发过程中集成IPFS
查看>>
后台管理,给列表页新增查询功能,所遇到的问题及感想
查看>>
GraalVM 社区版 1.0 RC15 发布,新一代高性能跨语言虚拟机
查看>>
阿里架构师眼里JVM可以说的那些事
查看>>
C#实现局部峰值查找,功能对应Matlab中的findpeaks.m
查看>>