Maven教程..

合集下载

maven命令参数

maven命令参数

maven命令参数
回答:
Maven是一个Java项目的构建工具,它基于项目对象模型(POM)来管理项目的构建过程。

在使用Maven构建项目时,我们需要使用一系列的命令和参数来完成各种构建任务。

下面是一些常用的Maven命令参数:
1. clean:清除项目中的所有构建产物和临时文件,以便重新构建项目。

2. compile:编译项目中的Java源代码。

3. package:将项目打包成一个可执行的JAR或WAR文件。

4. install:将项目构建产物安装到本地Maven仓库中,以便其他项目可以依赖它。

5. deploy:将项目构建产物部署到远程Maven仓库中,以便其他项目可以依赖它。

6. test:运行项目中的单元测试。

7. site:生成项目的文档网站。

8. dependency:tree:显示项目的依赖树,以便查看项目依赖关系。

9. -D参数:用于设置系统属性,例如mvn clean -DskipTests=true可以跳过测试阶段。

10. -P参数:用于激活指定的Maven配置文件,例如mvn clean -Pprod会激活名为prod的配置文件。

以上是一些常用的Maven命令参数,使用它们可以帮助我们更方便地构建和管理Java项目。

使用Maven命令行下载依赖库

使用Maven命令行下载依赖库

使⽤Maven命令⾏下载依赖库这篇⽂章,不是教⼤家如何新建maven项⽬,不是与⼤家分享Eclipse与Maven整合。

注意:是在命令⾏下使⽤Maven下载依赖库。

废话不说,步骤如下:1、保证电脑上已成功安装了JDK。

运⾏java -version看看是否可以显⽰,如果未成功安装,请查阅相关教程。

配置完成后,请看mvn -version,如果成功,可以看到mvn的版本信息。

有些操作系统修改环境变量后,需要重启系统才会⽣效。

3、修改仓库为aliyun的项⽬仓库,因为默认的中央仓库速度有点慢。

在Maven根⽬录下有个Conf的⽬录,下⾯有⼀个settings.xml配置⽂件,打开并在mirrors配置节中加⼊如下配置:<mirrors><mirror><id>alimaven</id><name>aliyun maven</name> <url>/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror><mirror><id>repo1</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>/maven2/</url></mirror><!-- 中央仓库2 --><mirror><id>repo2</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>/maven2/</url></mirror></mirrors>4、新建⼀个⾃⼰的⽬录,如D:\\mvn,在这个⽬录下新建⽂件pom.xml基本内容如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>test</groupId><artifactId>test</artifactId><version>1.0-SNAPSHOT</version><!--依赖项信息,依赖到的jar包--><dependencies><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.11.1</version></dependency></dependencies></project>其中depenencies配置节部分就是我们要下载的依赖包。

IntelliJIDEA使用教程(非常全面)

IntelliJIDEA使用教程(非常全面)

IntelliJIDEA使⽤教程(⾮常全⾯)这个编辑器我就不再多做介绍了。

直接开始新建maven hello world 的Java web项⽬啦你电脑上得有jdk1.7,或者1.8,然后就是maven3.x吧,再有就是tomcat7以上吧。

还得有我这个编辑器。

这些是准备条件下⾯就直接开始看图啦:这个我刚刚开始没注意细看,原来web app 的⾻架有2个呢,我⼀开始⼀直选择的是第⼀个,因为搜索的时候,⼀直以为匹配结果就⼀个,后来才发现下⾯的那个才是我想要的。

所以,你也要注意咯这个就是我有⼀篇⽂章说的,给⾃⼰的项⽬的本地仓库,默认是在c盘的.m2⽂件夹下,但是这很是占⽤c盘本来就不算⼤的系统盘的地⽅。

所以这⾥可以这么配置就可以把本地仓库移动到c盘之外的任意地⽅。

就这么做就可以啦。

另外使⽤的是国内的阿⾥的仓库。

下载速度快。

想知道细节的,可以看下下⾯的2个⽂章。

不想的也可以不看,跟着我搞,最后,也是OK的。

参考下⽂链接:1,这⼀⾏⾥⾯的按钮还是⽐较常⽤的。

注意,是点那个加号,再去配置的,⽽不是直接点下⾯的,注意哦。

⼥⼠们,先⽣们,attention please!!!估计有的⼩伙伴们到这个地⽅,哎,发现,我怎么就只有⼀个选项呀,artifact这个选项怎么没有呢?不要惊慌,⽅法⼀:先看⽂章最底部的更新内容,看看是不是因为安装的编辑器不是开发版,也就是说你安装的是免费版的,那可能就是少了下⾯的插件。

看看安装之后,是不是就可以搞定问题啦。

后经有同学反应,你搜索不到插件的,是因为你使⽤的阉割版的,建议安装专业版,也就是付费的,⽂章底部有截图的,我也附上我云盘的链接啦。

⽅法⼆:到这,你就可以添加了,或者直接点右下⾓的那个fix,估计⼀下就⾃动,给搞定了,继续吧。

更新完毕。

这个,没搞过web开发的⼩伙伴,可能不⼤好理解。

在 Java Web 开发中,⼀般更新了 Java ⽂件后要⼿动重启 Tomcat 服务器,才能⽣效,有印象没?我是真的遇到过,当时⽤的编辑器是eclipse,使⽤的服务器好像是jboss,浪费不少⽣命啊,你如上配置的话,不论是更新 class 类,css⽂件,html⽂件,js⽂件,还是更新 Spring 配置⽂件都能做到⽴马⽣效,⼤⼤提⾼开发效率。

Maven常用命令及其作用、常见问题、常用命令使用场景举例

Maven常用命令及其作用、常见问题、常用命令使用场景举例

Maven常⽤命令及其作⽤、常见问题、常⽤命令使⽤场景举例⼀、Maven常⽤命令及其作⽤1、 maven clean:对项⽬进⾏清理,删除target⽬录下编译的内容2、 maven compile:编译项⽬源代码3、 maven test:对项⽬进⾏运⾏测试4、 maven packet:打包⽂件并存放到项⽬的target⽬录下,打包好的⽂件通常都是编译后的class⽂件5、 maven install:在本地仓库⽣成仓库的安装包,可供其他项⽬引⽤,同时打包后的⽂件放到项⽬的target⽬录下⼆、常⽤命令使⽤场景举例1、mvn clean package依次执⾏了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段package命令完成了项⽬编译、单元测试、打包功能,但没有把打好的可执⾏jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库2、mvn clean install依次执⾏了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段install命令完成了项⽬编译、单元测试、打包功能,同时把打好的可执⾏jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库3、mvn clean deploy依次执⾏了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段deploy命令完成了项⽬编译、单元测试、打包功能,同时把打好的可执⾏jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库三、常见问题(⼀)mvn clean install 和 mvn install 的区别1、根据maven在执⾏⼀个⽣命周期命令时,理论上讲,不做mvn install 得到的jar包应该是最新的,除⾮使⽤其他⽅式修改jar包的内容,但没有修改源代码2、平时可以使⽤mvn install ,不使⽤clean会节省时间,但是最保险的⽅式还是mvn clean install,这样可以⽣成最新的jar包或者其他包(⼆)maven两种跳过单元测试⽅法的区别1、 mvn package -Dmaven.test.skip=true不但跳过了单元测试的运⾏,同时也跳过了测试代码的编译2、 mvn package -DskipTests跳过单元测试,但是会继续编译。

Nexus学习笔记--安装使用教程

Nexus学习笔记--安装使用教程

Nexus学习笔记--安装使⽤教程Nexus是什么Nexus 是 Sonatype 公司发布的⼀款仓库(Repository)管理软件,常⽤来搭建 Maven 私服,所以也有⼈将 Nexus 称为“Maven仓库管理器”。

其实并不是 Maven 的核⼼概念,它仅仅是⼀种衍⽣出来的特殊的仓库,但这并不代表它不重要,相反由于私服具有降低中央仓库负荷、节省外⽹带宽、以及提⾼项⽬稳定性等优点,使得私服在实际开发过程中得到了相当普遍地使⽤。

能够帮助我们建⽴私服的软件被称为 Maven 仓库管理器,主要有以下 3 种:Apache ArchivaJFrog ArtifactorySonatype Nexus其中,Sonatype Nexus 是当前最流⾏,使⽤最⼴泛的 Maven 仓库管理器。

Nexus 分为开源版和专业版,其中开源版⾜以满⾜⼤部分 Maven ⽤户的需求。

Nexus 开源版具有以下特性:占⽤内存⼩(28 M 左右)具有基于 ExtJs 得操作界⾯,⽤户体验较好使⽤基于 Restlet 的完全 REST API⽀持代理仓库、宿主仓库和仓库组基于⽂件系统,不需要依赖数据库⽀持仓库索引以及搜索⽀持在界⾯上上传构件安全控制Nexus 专业版需要付费购买,它主要包含⼀些企业级的⾼级特性,详情请参考。

Nexus下载和安装⽬前 Nexus 分为 Nexus 2.x 和 Nexus 3.x 两个⼤版本,它们是并⾏的关系,⽬前使⽤最多,运⾏最稳定的是 Nexus 2.x,下⾯我们以 Nexus 2.x 为例,演⽰ Nexus 的安装过程。

1. 进⼊,根据本机操作系统,选择对应的版本进⾏下载,如下图所⽰。

图1:Nexus 2.x 下载页⾯2. 将下载 Nexus 安装包解压到本地磁盘,可获得 nexus-2.14.20-02 和 sonatype-work 2 个⽬录,如下图。

图2:Nexus 2.x ⽬录其中:nexus-2.14.20-02:该⽬录中包含了 Nexus 2.x 运⾏所需要的⽂件,如启动脚本、依赖 jar 包等。

3nexus安装教程

3nexus安装教程

1.安装nexus前需要先安装maven。

(详见jdk安装教程)2.将nexus-2.0.2.rar放到d:\teamwork中,点击右键,解压到当前文件夹中。

3.将sonatype-work.rar放到d:\teamwork中,点击右键,解压到当前文件夹中。

4.打开D:\teamwork\nexus-2.0.2\bin\jsw\windows-x86-32(若为64位系统则打开D:\teamwork\nexus-2.0.2\bin\jsw\windows-x86-64)5.双击执行install-nexus.bat(安装后nexus会加入到windows服务中,随系统启动而自动启动)6.双击执行start-nexus.bat7.打开浏览器,输入http://localhost:8081/nexus/,出现此页面,则安装成功8.点击右上角的log in,输入默认的用户名:admin,密码:admin123即可登录9.用文本编辑器打开D:\teamwork\apache-maven-3.0.5\conf\setting.xml10.在<mirrors>标签下(在158行)加入如下代码:<mirror><id>Nexus</id><name>Nexus Public Mirror</name><url>http://localhost:8081/nexus/content/groups/public</url><mirrorOf>central</mirrorOf></mirror>这样就建立好了本地的仓库。

maven-publish使用文档

maven-publish使用文档

maven-publish使用文档1. 引言1.1 概述在软件开发过程中,构建工具的选择和使用是至关重要的。

Maven是一个流行的构建工具,被广泛用于Java项目的构建和管理。

随着项目规模的增长,我们经常需要将项目发布到远程仓库或者本地仓库以供团队成员或其他项目使用。

而Maven Publish插件就提供了一种简单且灵活的方式来实现项目的发布。

1.2 文章结构本文将介绍如何使用Maven Publish插件来进行项目的发布。

首先会对Maven Publish基本概念进行解释,包括它是什么、它的作用以及优势所在。

接着,文章将详细说明使用Maven Publish的步骤,并给出相应示例代码和配置说明。

最后,在结论部分总结了Maven Publish的重要性和用途,并提供进一步学习资源和建议。

1.3 目的本文的目标是帮助读者了解如何使用Maven Publish插件来进行项目发布,并通过详细步骤和示例代码帮助读者更好地掌握这一技术。

无论是初学者还是有一定经验的开发人员,都可以通过本文学习到使用Maven Publish插件进行项目发布所需知识和技巧。

无论您是正在进行个人项目还是团队协作,通过本文的学习您将能够更加高效地进行项目发布和管理。

2. 正文正文部分将详细介绍Maven Publish的相关内容,包括其基本概念、使用步骤以及一些重要的注意事项和实例。

下面是正文的内容:Maven Publish是一个用于构建和发布Java项目的插件,它提供了一种简单而灵活的方式来创建和配置发布任务。

通过使用Maven Publish插件,开发人员可以方便地将他们的代码部署到各种远程存储库中。

在开始之前,我们首先介绍一下Maven Publish的基本概念。

它主要组成了以下几个部分:发布任务、发布组合和发布配置块。

发布任务是指通过执行特定操作将项目构建结果发布到某个远程存储库的过程。

每个发布任务都有自己的名称和类型,可以根据需要进行自定义配置。

maven运行时的配置及命令详解

maven运行时的配置及命令详解

maven运⾏时的配置及命令详解上⾯是指定端⼝运⾏程序的,也可以先指定好,直接在上⾯的地⽅写jettty:run 当然,如果你是在控制台运⾏且安装了maven,直接可以进⼊项⽬的⽂件中:mvn jetty:run就是说,在控制台运⾏只要加上⼀个mvn就ok了源代码格式的包Maven install将项⽬输出构件部署到本地仓库maven最主要的作⽤有两个⽅⾯,⼀个是对jar包的依赖解决功能,⾃⼰管理jar包,另⼀个功能就是项⽬的构建,打包部署。

现在我觉得最重要的还是maven的⽣命周期和插件机制,下⾯就来总结⼀下吧。

mvn install 是将你打好的jar包安装到你的本地库中,⼀般没有设置过是在⽤户⽬录下的 .\下⾯。

mvn package 只是将你的代码打包到输出⽬录,⼀般的是 target下⾯。

eclipse插件,m2eclipse1.maven install相当于maven原⽣的命令: mvn install2.aven build是 m2eclipse这个插件⾃⼰创造的概念,需要你来配置到底需要执⾏什么命令,如下图中的goals输⼊的就是你想执⾏的命令: Goals就是mvn的意思,所以中间不需要加mvn了 Eclipse中maven常⽤的命令 点击Run As就可以发现⼏个Maven的命令: Maven Build: 这个命令⽤于编译Maven⼯程,执⾏命令后会在target⽂件夹中的classes中⽣成对应的class⽂件。

Maven Clean: 删除target⽂件夹,即删除⽣成的package包以及class等⽂件。

Maven Test: 先⾃动进⾏编译,在运⾏所有的测试⽤例。

Maven install: 发布⽣成对应的package包。

注意: 留意上⾯的命令的作⽤,build和test都会⽣成相应的class⽂件。

也就是说,当你新建⼀个maven⼯程,或者clean⼀个maven⼯程后,如果没有使⽤这两个命令,直接针对类进⾏测试,会跑出java.class.notfound的错误。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•<groupId>com.juvenxu.mvnbook</groupId> •<artifactId>hello-world</artifactId> •<version>1.0-SNAPSHOT</version> <name>Maven Hello World Project</name> </project>
依赖原则
路径优先原则 第一声明优先原则
Maven的基础知识-传递依赖的关系
Juyee项目研发
第二直接 依赖 第一直 接依赖 Compile Test Provided Runtime
Compile
Test
Provided
Runtime
Compile Test Provided Runtime
-----
Maven的基础知识-编写POM
Juyee项目研发
示例: 1、手动建立Maven项目 2、用IntelliJ IDEA 快速建立一个简单的Maven项目。
Maven的基础知识-坐标依赖
Juyee项目研发
<project ...> ... <dependencies> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>3.0.5.RELEASE</version> <scope>compile</scope> <classifier>jdk15</classifier> <exclusions> <exclusion> .... </exclusion> </exclusions> </dependency> </dependencies> .... </project>
为什么选择 Maven
Juyee项目研发
1、需求 项目环境搭建 项目编码实现 项目发布 .......
同类工具的比较
Juyee项目研发
Make Ant Maven
en的基础知识-安装与配置
Juyee项目研发
在安装Maven之前,首先要确认你已经正确安装了JDK。Maven可以运 行在JDK 1.4及以上的版本上。 Maven的下载页面:/download.html,其 中包含针对不同平台的各种版本的Maven下载文件。 将安装文件解压到你指定的目录中,如:D:\bin>jar xvf "C:\Users\Juven Xu\Downloads\apache-maven-3.0--bin.zip“,这里 的Maven安装目录是D:\bin\apache-maven-3.0,接着需要设置环境 变量,将Maven安装配置到操作系统环境中。 配置环境,变量名为M2_HOME,变量值为Maven的安装目录 D:\bin\apache-maven-3.0。修改Path的变量,在变量值的末尾加上 %M2_HOME%\bin;。 测试maven环境,运行C:\Users\ Juyee>mvn –v
Maven的基础知识-安装与配置
Juyee项目研发
设置MAVEN_OPTS环境变量, MAVEN_OPTS的值为:-Xms128m Xmx512m,因为Java默认的最大可用内存往往不能够满足Maven运 行的需要。 配置用户范围settings.xml,Maven用户可以选择配置 $M2_HOME/conf/settings.xml或者~/.m2/settings.xml。前者是 全局范围的,整台机器上的所有用户都会直接受到该配置的影响,而 后者是用户范围的,只有当前用户才会受到该配置的影响。
Maven的基础知识-依赖范围
Juyee项目研发
依赖范围 (scope) Compile Test Provided Runtime
编译有效 Y -Y --
测试有效 Y Y Y Y
运行时有效 Y --Y
例子 Spring-core JUnit Servlet-api JDBC驱动实现
System
Y
--Provided --
Runtime Test Provided Runtime
A
第一依赖
B
第二依赖
C
Maven的基础知识-依赖应用时的技巧
Juyee项目研发
依赖应用技巧
排除依赖 归类依赖 优化依赖
Maven的基础知识-排除依赖
Juyee项目研发
Juyee项目研发
学习总结
项目管理-Maven
Juyee
Maven 简介
Juyee项目研发
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项 目的构建,报告和文档的软件项目管理工具。
Maven这个词可以翻译为“知识的积累”,也可以翻译成“专家”或 “内行”。它主要服务于基于jave平台的项目构建、依赖管理和项目信息 管理。
Y
--
本地的,Maven 仓库之外的类库 文件
Maven的基础知识-依赖的特点
Juyee项目研发
传递性依赖
A
B
C
传递性引发的问题
比如有如下依赖关系:a->b->c->x(1.0)、a->d->x(2.0),那么哪个x包会被 maven解析?还是两个包都会被解析? 比如有如下依赖关系:a->b->x(1.0)、a->c->x(2.0),那么哪个x包会被maven 解析?还是两个包都会被解析?
Maven的基础知识-编写POM
Juyee项目研发
<?xml version="1.0" encoding="UTF-8"?> •<project xmlns="/POM/4.0.0" • xmlns:xsi="/2001/XMLSchema-instance" •xsi:schemaLocation="/POM/4.0.0 /maven-v4_0_0.xsd"> •<modelVersion>4.0.0</modelVersion>
相关文档
最新文档