Maven教程

合集下载

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 包等。

Maven篇----04mvn常用命令

Maven篇----04mvn常用命令

Maven篇----04mvn常⽤命令mvn archetype:generate :反向⽣成项⽬的⾻架mvn clean: 清除各个模块target⽬录及⾥⾯的内容mvn compile: 静态编译,根据xx.java⽣成xx.class⽂件mvn dependency:list :查看当前项⽬已被解析的依赖mvn deploy: 部署,把包发布到远程仓库mvn -Dtest package :只打包不测试mvn eclipse:eclipse :⽣成eclipse项⽬mvn idea:idea :⽣成idea项⽬mvn install:把打好的包放⼊本地仓库(~/.m2/repository)mvn jar :⽣成jar包mvn package: 打包,⽣成各个模块下⾯的target⽬录及⾥⾯的内容mvn site:产⽣sitemvn source:jar :源码打包mvn test -skipping comiple :只测试不编译mvn test: 单元测试mvn test-compile :编译测试代码mvn validate:验证⼯程是否正确mvn verify:命令参数命令备注mvn -v--version 显⽰版本信息;mvn -V--show-version 显⽰版本信息后继续执⾏Maven其他⽬标;mvn -h--help 显⽰帮助信息;mvn -e--errors 控制Maven的⽇志级别,产⽣执⾏错误相关消息;mvn -X--debug 控制Maven的⽇志级别,产⽣执⾏调试信息;mvn -q--quiet 控制Maven的⽇志级别,仅仅显⽰错误;mvn -Pxxx 激活 id 为 xxx的profile (如有多个,⽤逗号隔开);mvn -Dxxx=yyy指定Java全局属性;mvn -o--offline 运⾏offline模式,不联⽹更新依赖;mvn -N--non-recursive 仅在当前模块执⾏命令,不构建⼦模块;mvn -pl--module_name 在指定模块上执⾏命令;mvn -ff--fail-fast 遇到构建失败就直接退出;mvn -fn--fail-never ⽆论项⽬结果如何,构建从不失败;mvn -fae--fail-at-end 仅影响构建结果,允许不受影响的构建继续;mvn -C--strict-checksums 如果校验码不匹配的话,构建失败;mvn -c--lax-checksums 如果校验码不匹配的话,产⽣告警;mvn -U强制更新snapshot类型的插件或依赖库(否则maven⼀天只会更新⼀次snapshot依赖);mvn -npu --no-plugin-s 对任何相关的注册插件,不进⾏最新检查(使⽤该选项使Maven 表现出稳定⾏为,该稳定⾏为基于本地仓库当前可⽤的所有插件版本);mvn -cpu --check-plugin-updates 对任何相关的注册插件,强制进⾏最新检查(即使项⽬POM⾥明确规定了Maven插件版本,还是会强制更新);mvn -up--update-plugins [mvn -cpu]的同义词;mvn -B --batch-mode 在⾮交互(批处理)模式下运⾏(该模式下,当Mven需要输⼊时,它不会停下来接受⽤户的输⼊,⽽是使⽤合理的默认值);mvn -f--file <file> 强制使⽤备⽤的POM⽂件;mvn -s--settings <arg> ⽤户配置⽂件的备⽤路径;mvn -gs--global-settings <file> 全局配置⽂件的备⽤路径;mvn -emp --encrypt-master-password <password> 加密主安全密码,存储到Maven settings⽂件⾥;--encrypt-password <password> 加密服务器密码,存储到Maven settings⽂mvn -ep --encrypt-password <password> 加密服务器密码,存储到Maven settings⽂件⾥;mvn -npr --no-plugin-registry 对插件版本不使⽤~/.m2/plugin-registry.xml(插件注册表)⾥的配置;应⽤1:将第三⽅jar包安装到本地仓库1. 定位到要上传的jar包的⽬录,执⾏如下命令:mvn install:install-file -DgroupId=oracle -DartifactId=ojdbc6 -Dversion=11.2.0.2.0 -Dpackaging=jar -Dfile=ojdbc6.jar 应⽤2:将第三⽅jar包安装到远程仓库1. settings.xml中配置认证信息。

idea使用maven编译项目

idea使用maven编译项目

idea使用maven编译项目使用Maven编译项目是一种常见且高效的方式,它可以帮助开发人员管理项目依赖、构建项目以及进行项目的部署等任务。

在本文中,我将介绍如何使用Maven编译项目,并提供一些关于Maven 的常用命令和技巧。

一、Maven简介Maven是一个项目管理工具,它能够自动化构建、测试和部署Java项目。

它提供了一种规范的项目结构,使得开发人员可以更加方便地组织、构建和部署项目。

二、Maven的安装和配置1. 首先,你需要下载并安装Maven。

你可以从Maven官网上下载最新版本的Maven,并按照官方文档进行安装。

2. 安装完成后,你需要配置Maven的环境变量。

将Maven的bin 目录添加到系统的Path环境变量中。

三、创建Maven项目1. 打开命令提示符窗口,进入到你希望创建项目的目录下。

2. 运行以下命令创建一个基本的Maven项目:```mvn archetype:generate -DgroupId=com.example -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false```这个命令将在当前目录下创建一个名为"myproject"的Maven项目。

四、编译项目1. 进入到项目的根目录,运行以下命令进行项目的编译:```mvn compile```这个命令将编译项目中的所有源文件,并将编译结果保存在target 目录中。

五、运行项目1. 在项目根目录下,运行以下命令启动项目:```mvn exec:java -Dexec.mainClass="com.example.App"```这个命令将执行项目中的主类"com.example.App"。

六、打包项目1. 在项目根目录下,运行以下命令打包项目:```mvn package```这个命令将生成一个可执行的JAR包,并将其保存在target目录中。

maven中的setting详解(二)

maven中的setting详解(二)

maven中的setting详解(二)Maven中的setting详解什么是Maven设置(settings)?在使用Maven构建项目时,可以通过设置(settings)来配置Maven的行为。

Maven设置包含一些配置信息,例如仓库位置、代理服务器等。

本文将详细解释Maven中的setting,并解读其关键配置项。

文件Maven的设置信息存储在一个名为的文件中。

该文件通常位于Maven安装目录的conf文件夹下。

以用户级别进行全局配置的文件位于用户目录的.m2文件夹下。

Maven设置的重要配置项以下是文件中的一些重要配置项:1. localRepository该配置项指定Maven的本地仓库路径。

Maven默认将下载的依赖库保存在本地仓库中。

如果不指定该配置项,默认路径为~/.m2/repository。

2. mirrors通过mirrors配置项,可以配置镜像仓库。

Maven将从镜像仓库中获取依赖,而不是从中央仓库。

镜像仓库通常用于加速Maven构建过程。

3. profilesprofiles配置项用于配置不同的环境,如开发、测试和生产环境。

每个profile可以包含一组插件、依赖和其他配置信息。

4. proxies通过proxies配置项,可以配置Maven使用的代理服务器。

如果您的网络环境需要通过代理访问互联网,可以在这里配置代理服务器的主机、端口、用户名和密码。

5. serversservers配置项用于配置访问受限制的仓库(如私有仓库)的身份验证信息。

您可以在这里配置仓库的URL、用户名和密码。

修改文件要修改文件,可以按照以下步骤进行操作:1.打开Maven安装目录的conf文件夹,找到文件。

2.使用文本编辑器打开文件。

3.根据需要修改配置项的值。

4.保存并关闭文件。

自定义setting文件的位置如果您希望Maven使用不同的文件,可以通过命令行参数“-s”指定文件的路径。

例如,要使用名为的文件作为Maven的设置文件,可以执行以下命令:mvn -s /path/to/ <goal>使用setting配置项目针对单个项目,可以在其文件中指定settings。

idea安装与配置及基本用法教程详解

idea安装与配置及基本用法教程详解

idea安装与配置及基本⽤法教程详解⽬录⼀、配置idea前准备:⼆、配置idea三、常见困惑:四、中途遇到的问题及解决⽅案 Intellij IDEA 确实使⽤更加⽅便,由于⽬前只⽤到maven项⽬,所以此处只记录maven项⽬的配置。

⼀、配置idea前准备: 1.下载idea安装包、jdk安装包、maven安装包、git安装包。

均去官⽹下载并安装,⽹上很多,此处不再赘述。

(注意:常见的src⽂件是源码,bin是使⽤,所以下载时我们下载bin⽂件)⼆、配置idea 1.点开idea图标,点create new project,按照流程⼀步⼀步配置jdk,maven等,配置结束。

2.运⾏idea,进⼊idea主界⾯,页⾯会⾃动弹出这样的tips提⽰对话框,将默认的该选择框改为不选中,后⾯每次打开idea就不会弹出这样的对话框,可减少资源占⽤。

3.当pom⽂件有修改或者有新的依赖加⼊,右下⾓会出现如图提⽰,有两个选项Import changes是⼿动导⼊,Enable Auto_Import是开启⾃动导⼊。

两个的区别是⾃动导⼊会在修改依赖后⾃动导⼊依赖,占⽤计算机更多资源,⼀般计算机都建议点⼿动导⼊。

4.File-->Project Structure ⾥可以配置项⽬的⼀些设置。

5.setting⾥可以设置idea的所有功能,只对当前项⽬有效,可以多⽤。

全局设置后,就不⽤单个项⽬单独配置。

尽量都全局设置。

  6.Other setting⾥的Defult setting 设置的是全局的,Default Project Structure是设置项⽬。

7.设置编译版本 第⼀种⽅式:在pom⽂件中设置编译版本 第⼆种⽅式:在setting中修改编译器版本,要使其与ProjectStructure中的版本⼀致。

8.view中选中Toolbar和tool button ,右侧的⼯具就可显⽰出来,我们可以在 maven project下⽅便操作⼀系列maven操作。

maven参数

maven参数

maven参数Maven是一个流行的项目管理和构建自动化工具,它使用一系列参数来配置和控制构建过程。

这些参数可以根据项目的需求进行自定义。

本文将详细介绍一些常用的Maven参数及其用法。

1. -D参数:用于设置系统属性。

通过-D参数,可以在命令行中指定一些属性值,这些属性可以在项目中的配置文件中使用。

比如,我们可以通过-D参数设置Java编译器的版本:``````2. -P参数:用于激活指定的profile。

通过在命令行中使用-P参数,可以选择激活特定的profile,从而根据不同的环境需求进行构建和部署。

比如,我们可以使用以下命令来激活名为"production"的profile:```mvn clean install -Pproduction```3. -s参数:用于指定自定义的设置文件。

默认情况下,Maven使用settings.xml文件来配置其行为。

可以通过-s参数来指定另一个设置文件。

例如:```mvn clean install -s custom-settings.xml```4. -B参数:用于启用批处理模式。

当使用-B参数时,Maven将在批处理模式下执行,抑制交互式提示和用户输入,这对于自动化构建过程非常有用。

例如:```mvn clean install -B``````mvn clean install -o```6. -Dmaven.test.skip=true参数:用于跳过测试。

默认情况下,Maven会在构建过程中执行项目的测试。

使用-Dmaven.test.skip=true参数后,Maven将跳过测试阶段,直接进行打包和部署。

这对于快速构建和调试代码非常有用。

例如:```mvn clean install -Dmaven.test.skip=true```7. -e参数:用于显示详细的构建错误信息。

当使用-e参数时,Maven将输出更详细的错误信息,包括堆栈跟踪和异常信息。

maven 源码解析

maven 源码解析Maven是一种Java项目管理工具,主要用于管理Java项目的构建、依赖、测试、打包和发布等过程。

在使用Maven时,有时需要下载依赖库的源码以便更好地理解代码和解决问题。

以下是关于Maven 下载源码的方法:1. 使用Maven命令下载源码:在项目根目录下,执行以下命令:```mvn dependency:sources```此命令将尝试下载在pom.xml文件中依赖的文件的源代码。

2. 使用Maven命令下载javadoc:在项目根目录下,执行以下命令:```mvn dependency:resolve -Dclassifier=javadoc```此命令将尝试下载对应的javadocs。

3. 通过Maven配置文件设置:打开Maven配置文件(通常位于`.m2/settings.xml`),添加以下配置:```xml<profiles><profile><id>downloadSources</id><properties><downloadSources>true</downloadSources><downloadJavadocs>true</downloadJavadocs></properties></profile></profiles><activeProfiles><activeProfile>downloadSources</activeProfile></activeProfiles>```设置完成后,Maven将自动下载依赖库的源码和javadoc。

4. 配置Eclipse:打开Eclipse,进入菜单栏的Window > Preferences,选择Maven,勾选“Download Artifact Sources”和“Download Artifact JavaDoc”选项。

maven 打包基本命令

maven 打包基本命令Maven是一个强大的构建工具,可以帮助我们管理项目依赖、构建项目以及打包发布。

在使用Maven进行打包时,我们需要掌握一些基本的命令。

我们需要确保在项目的根目录下存在一个名为pom.xml的文件,它是Maven项目的核心配置文件。

在这个文件中,我们可以定义项目的基本信息、依赖关系以及构建过程。

接下来,我们可以使用以下命令进行项目的打包:1. 清理命令mvn clean这个命令会清理项目中的所有生成文件和目录。

通常在每次构建之前都会执行这个命令,以确保项目是从一个干净的状态开始构建的。

2. 编译命令mvn compile这个命令会编译项目中的所有源代码,并将编译结果放在target目录下。

如果项目中存在依赖关系,则Maven会在编译过程中自动下载所需的依赖。

3. 测试命令mvn test这个命令会执行项目中的所有单元测试。

Maven会自动运行所有以Test结尾的类,并生成测试报告。

4. 打包命令mvn package这个命令会将项目打包成一个可执行的JAR或WAR文件,并将其放在target目录下。

打包过程中会自动将编译结果和项目的资源文件打包到生成的文件中。

5. 安装命令mvn install这个命令会将项目的打包结果安装到本地的Maven仓库中。

这样,其他项目就可以通过依赖关系引用该项目了。

除了以上的基本命令,Maven还提供了其他一些常用的命令,如clean install、clean package等。

这些命令可以根据项目的需求进行组合使用。

在使用Maven进行项目打包时,我们需要注意以下几点:1. 确保项目的pom.xml文件正确配置,包括项目的基本信息、依赖关系和构建插件等。

2. 在执行命令之前,可以通过mvn -version命令检查Maven的版本,确保能够正常使用。

3. 在项目中使用的依赖库需要在pom.xml文件中进行声明,以便Maven能够自动下载依赖。

Maven下载、环境配置及在IDEA中的使用(以及Processterminated错误处理)

Maven下载、环境配置及在IDEA中的使⽤(以及Processterminated错误处理)1.什么是MavenMaven是⼀个项⽬管理⼯具,它包含了⼀个项⽬对象模型 (Project ObjectModel),⼀组标准集合,⼀个项⽬⽣命周期(Project Lifecycle),⼀个依赖管理系统(Dependency Management System)。

2.idea中的搭建Maven1. 下载安装 :2. 配置Maven的环境变量变量名:MAVEN_HOME变量值:D:\files\idea\maven\apache-maven-3.6.3变量名:Path变量值:%MAVEN_HOME%\bincmd输⼊mvn -v3. Maven有三个仓库:本地仓库,中央仓库,远程仓库。

本地仓库:idea创建Maven项⽬时指定本地仓库地址idea⾃动下载中央仓库:Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了⼤量常⽤的库。

远程仓库:默认的远程仓库默认在国外下载慢所以换为阿⾥云的仓库。

查找顺序:本地仓库>>中央仓库>>远程仓库4.配置远程仓库为阿⾥云在下载Maven⽂件中的 conf ⽂件夹中的 setting.xml ⽂件,在 mirrors 节点上,添加内容如下:<mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror></mirrors>5.创建Maven项⽬User settaning file:⽤户设置⽂件即Maven⽂件中的 conf ⽂件夹中的 setting.xml ⽂件。

Apache-Maven的安装及配置

Apache-Maven的安装及配置⼀、下载 这⾥下载Link这⼀列的就可以了, Binary就是⼆进制版本就是编译后的版本直接可以⽤的,source就是代码开源版,就是 Apache-Maven 的源码包。

windows就下载 .zip 后缀的,linux/unix下载 tar.gz 的。

⼆、安装 1. 下载下来的是压缩包,直接解压到指定⽬录就⾏了。

2. 添加path路径 windows : linux : 编辑profile⽂件 :# vi /etc/profile 编辑这段代码加到 profile ⽂件中最后,切记 $MAVEN_HOME/bin 后⾯跟着的是 : 英⽂冒号export MAVEN_HOME=你的解压⽬录export PATH=$MAVEN_HOME/bin:$PATH三、配置 在你希望的位置创建⼀个repo⽂件⽬录,我是在 Maven 的跟⽬录创建的编辑 settings.xml ⽂件,路径 : 解压⽬录/conf/settings.xml1. 配置本地仓库位置,配置这个的⽬的是把你平时⽤过的 jar 都下载下来然后保存起来,下次⽤的时候直接从本地调就不需要重复下载了,找到localRepository这个标签,原来⽂档是注释掉的,你只需要把那个标签拷贝出来写上⾃⼰的路径就⾏了<localRepository>⾃⼰创建的repo ⽂件⽬录</localRepository>2. 配置阿⾥国内仓库,配置这个的原因是因为 Apache-Maven 的默认仓库是在国外的,下载速度实在不给⼒,所以就配置我们马哥的仓库,还是很给⼒的。

这⾥我们找到mirrors标签下的mirror标签,同样的 Apache 给了我们⼀份模板,我们只需要拷贝出来修改⼀下就可以使⽤了<mirror><id>nexus-aliyun</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>/nexus/content/groups/public</url></mirror>四、总结与技巧 1. 写这篇博⽂主要是总结⼀下⾃⼰在使⽤ Apache-Maven 中的⼀些问题,关键是不想每次都查别⼈的⽂档,这些东西⼜不想去背,⼲脆就⾃⼰写⼀篇⽂档来看⼀下。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档