apache maven是一个用于项目构建和依赖管理的工具。

添加archetype

https://repo1.maven.org/maven2/archetype-catalog.xml

更改本地仓库存储位置:修改配置文件${user.home}/.m2/settings.xml或 $MAVEN_HOME/conf/setting.xml中的内容

<localRepository>...

mvn archetype:generate会非常慢,搜索了本地和远程太多archetype,而加上-DarchetypeCatalog=local将只搜索${user.home}/.m2/archetype-catalog.xml中定义的本地archetype,会大大提高速度。

mvn archetype:crawl会根据远程数据生成本地archetype目录$maven_localRepository/archetype-catalog.xml。

download jar, sources, javadoc

 mvn dependency:get -Dartifact=groupId:artifactId:version[:packaging[:classifier]]
eg. mvn dependency:get -Dartifact=mysql:mysql-connector-java:LATEST
mvn dependency:get -Dartifact=mysql:mysql-connector-java:LATEST:jar:sources

download sources/javadoc

 mvn dependency:sources -DincludeGroupIds=grouId1,groupId2... -Dclassifier=sources
mvn dependency:get -Dartifact=mysql:mysql-connector-java:LATEST:jar:sources download sources for each of dependencies in pom.xml
mvn dependency:sources
mvn dependency:resolve -Dclassifier=sources
download javadoc
mvn dependency:get -Dartifact=mysql:mysql-connector-java:LATEST:jar:javadoc
# download javadoc for each of dependencies in pom.xml
mvn dependency:sources -Dclassifier=javadoc
mvn dependency:resolve -Dclassifier=javadoc

copy dependecies

mvn dependency:copy -Dartifact=g:a:v -o -DrepoUrl=file://path/to/your/repo
mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:copy -Dartifact=groupId:artifactId:version[:packaging][:classifier] -DoutputDirectory=[target]

输出依赖jar包文件路径

mvn dependency:build-classpath [-Dmdep.outputFile=/path/file](输出到文件)

mvn基本的几个jar包相关命令:

mvn clean 清除target/编译文件夹

mvn compile 编译源码

mvn package 编译并打包为jar文件

mvn install 将jar文件安装到本地repo

mvn deploy 根据pom.xml中的信息,将jar包部署到远程repo

跳过测试

mvn -DskipTests

指定pom文件

mvn -f some-pom.xml

插件描述文档

mvn help:describe -Ddetail -Dplugin=<plugin-name> 或 -Dcmd=<plugin>:<phase>
# mvn help:describe -Dplugin=exec
# mvn help:describe -Dcmd=install:install-file
# mvn help:describe -Dplugin=g:a:v

关闭mvn的日志输出

mvn -q

生成源码jar包

mvn source:jar

maven 3.x super pom位置

$M2_HOME/lib/maven-model-builder-3.x.jar:/org/apache/maven/model/pom-4.0.0.xml

######## unresolved #########

list addable dependencies in local repository

list addable dependencies all available repositories

list achetypes

(不可用)get file path of artifact

mvn dependency:location -Dartifact=g

maven——项目构建和依赖管理工具的更多相关文章

  1. 适合Linux嵌入式项目的代码构建与依赖管理工具——cazel

    前言 我们知道,现在有很多流行的优秀代码构建工具,如CMake.jetkins.bazel等.这些不同的构建工具在其应用的领域起到了举足轻重的作用. 但是,如果仔细研究就会发现,在嵌入式领域,构建工具 ...

  2. Maven01——简介、安装配置、入门程序、项目构建和依赖管理

    1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Svn eclipse   maven量级 1.2 Maven好处 同 ...

  3. Rust 之 cargo(项目构建和包管理工具)

    如果食用cargo来进行项目构建: 1. 执行 cargo new hello_cargo --bin ,执行完上面的操作之后,我们切换到hell_cargo目录下,可以看到一个文件(Cargo.to ...

  4. golang多个项目时如何配置GOPATH,使用gb包依赖管理工具,不同项目配置不同的GOPATH的

    golang多个项目时如何配置GOPATH,使用gb包依赖管理工具,不同项目配置不同的GOPATH的 1:执行脚本setGoPath.sh#!/bin/bashif [[ $GOPATH =~ .*$ ...

  5. 【Tool】Windows系统安装Maven依赖管理工具

    安装Maven依赖管理工具 官网下载地址:http://maven.apache.org/download.cgi 系统环境要求: [JDK]Maven3.3版本+需要JDK1.7版本以上支持 [内存 ...

  6. maven项目构建

    Maven是apache的一个开源项目.是一个用来把源代码构建成可发布的构件的工具. Maven的功能非常强大,可以认为是一个项目管理工具,不仅仅是一个构建工具. Maven本身的核心很小,但是可以在 ...

  7. Go 包依赖管理工具 —— govendor

    govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具.与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本.以及 ...

  8. Golang依赖管理工具:glide从入门到精通使用

    这是一个创建于 2017-07-22 05:33:09 的文章,其中的信息可能已经有所发展或是发生改变. 介绍 不论是开发Java还是你正在学习的Golang,都会遇到依赖管理问题.Java有牛逼轰轰 ...

  9. 准备阶段-maven项目构建

    依据我现阶段对maven的了解,具使用POM管理项目和强大的repository资源管理库支持. 在项目建立初期,对网站的可拓展.高并发.易于管理做了评估.最终使用Maven 管理该项目 . 如下是m ...

随机推荐

  1. noip模拟赛 whzzt-Conscience

    分析:数据中并不存在无解的情况...... 每个摄像头都要覆盖尽可能多的点,按照y从小到大排序.对于每一列,只用判断第一个没有被观测到的就可以了,这个点必须要放摄像头,因为除了它自己没有其它的摄像头能 ...

  2. Mutual Training for Wannafly Union #5

    A(UVA12336) 题意:给一个n*m(n,m<=1e5)的棋盘,棋盘上有一些障碍点不能放棋子,现在要在棋盘上放4个棋子,满足A->B->C->D->A,其中走的规则 ...

  3. 模拟赛 Problem 2 不等数列(num.cpp/c/pas)

    Problem 2 不等数列(num.cpp/c/pas) [题目描述] 将1到n任意排列,然后在排列的每两个数之间根据他们的大小关系插入“>”和“<”.问在所有排列中,有多少个排列恰好有 ...

  4. 非常适合新手的jq/zepto源码分析04

    $.extend = function(target){ var deep, args = slice.call(arguments, 1) if (typeof target == 'boolean ...

  5. MySQL: How to support full Unicode in MySQL databases

    How to support full Unicode in MySQL databases Published 30th July 2012 · tagged with MySQL, securit ...

  6. event loop js事件循环 microtask macrotask

    转: 原文 http://blog.csdn.net/sjn0503/article/details/76087631 ---------------------------------------- ...

  7. Solidworks如何整体缩放零件

    比如我有一个飞机模型,当前长度有20000mm,即20M,我想要整体缩放   点击插入-特征-缩放比例   在左侧的框中输入所有要缩放的零部件(如果全部缩放,则全部框选所有零件,就可以把所有零件都放到 ...

  8. struts2 与spring整合

    要把struts2的action交给spring管理,这样spring才干帮struts2注入须要的的bean(一開始action是由struts初始化,所以想注入spring里面的bean是注入不了 ...

  9. 关于require.js的用法总结

    require.js就是将多个js文件集中化处理,在要运行的HTML文件里,写入<script data-main='js/main.js' src='js/require.js'>< ...

  10. 第16章 ASP.NET MVC 日志篇

    本章主要介绍MVC中内置的错误处理.日志以及用来提升性能的监控工具 一.错误处理 当该网站忙于处理HTTP请求时,很多内容都会出错.幸运的是,MVC让错误处理工作变得相对简单了很多,因为MVC应用是运 ...