maven全局配置文件win7|maven配置文件settingsxml中的profiles怎么用

⑴ 怎么配置maven的settings

第一步:配置maven的库1、在本地新建一个文件夹,来存放maven需要的jar库。如下图所示:2、修改maven配置文件settings.xml,D:\apache-maven-3.3.3\conf\settings.xm第二步:eclipse配置maven1、打开cclipse,依次打开Windows–>Prefrences,点击Maven的右边的三角符号,以展开Maven的配置界面2、然后点击Maven下面的Installations选项,出现如下界面,请点击Add按钮3、再后请选择您的maven安装路径,这里我的maven的安装目录为D:\apache-maven-3.3.3 ,选择你的maven安装目录,并点击确定, 之后可以点击Apply,点击OK4、再然后点击Maven下面的User Settings选项,点击第二个Browse..按钮,选择第一步配置的maven配置文件settings.xml。然后点击下面的Update Settings按钮,再点击下面的Apply按钮,点击ok就完成了

⑵ maven全局配置文件路径为

conf/settings.xml文件。根据查询maven全局配置的相关资料显示,maven全局配置文件路径为conf/settings.xml文件。Maven的全局配置文件是Maven安装目录conf/settings.xml文件,该文件可以配置仓库、代理、profile、镜像、插件等。

⑶ maven配置文件settings.xml中的profiles怎么用

profile介绍

4.1profile简介

profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息;或者有时候我们可以通过操作系统的不同来使用不同的配置信息,比如windows下是一套信息,linux下又是另外一套信息,等等。具体的激活条件有哪些我在后文会讲到。

4.2profile的定义位置

对于使用Maven3,我们可以有多个地方定义profile。定义的地方不同,它的作用范围也不同。

针对于特定项目的profile配置我们可以定义在该项目的pom.xml中。

针对于特定用户的profile配置,我们可以在用户的settings.xml文件中定义profile。该文件在用户家目录下的“.m2”目录下。

全局的profile配置。全局的profile是定义在Maven安装目录下的“conf/settings.xml”文件中的。

4.3profile中能定义的信息

profile中能够定义的配置信息跟profile所处的位置是相关的。以下就分两种情况来讨论,一种是定义在settings.xml中,另一种是定义在pom.xml中。

4.3.1 profile定义在settings.xml中

当profile定义在settings.xml中时意味着该profile是全局的,它会对所有项目或者某一用户的所有项目都产生作用。因为它是全局的,所以在settings.xml中只能定义一些相对而言范围宽泛一点的配置信息,比如远程仓库等。而一些比较细致一点的需要根据项目的不同来定义的就需要定义在项目的pom.xml中。具体而言,能够定义在settings.xml中的信息有<repositories>、<pluginRepositories>和<properties>。定义在<properties>里面的键值对可以在pom.xml中使用。

4.3.2 profile定义在pom.xml中

定义在pom.xml中的profile可以定义更多的信息。主要有以下这些:

l<repositories>

l<pluginRepositories>

l<dependencies>

l<plugins>

l<properties>

l<dependencyManagement>

l<distributionManagement>

l还有build元素下面的子元素,主要包括:

<defaultGoal>

<resources>

<testResources>

<finalName>

4.4profile的激活方式

Maven给我们提供了多种不同的profile激活方式。比如我们可以使用-P参数显示的激活一个profile,也可以根据环境条件的设置让它自动激活等。下面将对它们一一进行介绍:

4.4.1 使用activeByDefault设置激活

先看下面一个配置

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<properties>

<hello>world</hello>

</properties>

<activation>

<activeByDefault>true</activeByDefault>

</activation>

</profile>

<profile>

<id>profileTest2</id>

<properties>

<hello>andy</hello>

</properties>

</profile>

</profiles>

我们可以在profile中的activation元素中指定激活条件,当没有指定条件,然后指定activeByDefault为true的时候就表示当没有指定其他profile为激活状态时,该profile就默认会被激活。所以当我们调用mvn package的时候上面的profileTest1将会被激活,但是当我们使用mvn package –P profileTest2的时候将激活profileTest2,而这个时候profileTest1将不会被激活。

4.4.2 在settings.xml中使用activeProfiles指定处于激活状态的profile

我们可以在settings.xml中使用activeProfiles来指定需要激活的profile,这种方式激活的profile将所有情况下都处于激活状态。比如现在我们定义了如下两个profile

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<properties>

<hello>world</hello>

</properties>

</profile>

<profile>

<id>profileTest2</id>

<properties>

<hello>andy</hello>

</properties>

</profile>

</profiles>

这里的profile可以是定义在settings.xml中的,也可以是定义在pom.xml中的。这个时候如果我们需要指定profileTest1为激活状态,那么我们就可以在settings.xml中定义activeProfiles,具体定义如下:

Xml代码

<activeProfiles>

<activeProfile>profileTest1</activeProfile>

</activeProfiles>

考虑这样一种情况,我们在activeProfiles下同时定义了多个需要激活的profile。这里还拿上面的profile定义来举例,我们定义了同时激活profileTest1和profileTest2。

Xml代码

<activeProfiles>

<activeProfile>profileTest1</activeProfile>

<activeProfile>profileTest2</activeProfile>

</activeProfiles>

从profileTest1和profileTest2我们可以看出它们共同定义了属性hello。那么这个时候我在pom.xml中使用属性hello的时候,它到底取的哪个值呢?是根据activeProfile定义的顺序,后面的覆盖前面的吗?根据我的测试,答案是非也,它是根据profile定义的先后顺序来进行覆盖取值的,然后后面定义的会覆盖前面定义的。

4.4.3 使用-P参数显示的激活一个profile

假设我们现在有如下定义的profiles

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<properties>

<hello>world</hello>

</properties>

</profile>

<profile>

<id>profileTest2</id>

<properties>

<hello>andy</hello>

</properties>

</profile>

<profiles>

那么当我们在进行Maven操作时就可以使用-P参数显示的指定当前激活的是哪一个profile了。比如我们需要在对项目进行打包的时候使用id为profileTest1的profile,我们就可以这样做:

Cmd代码

mvnpackage–PprofileTest1

当我们使用activeByDefault或settings.xml中定义了处于激活的profile,但是当我们在进行某些操作的时候又不想它处于激活状态,这个时候我们可以这样做:

Cmd代码

Mvnpackage–P!profileTest1

这里假设profileTest1是在settings.xml中使用activeProfile标记的处于激活状态的profile,那么当我们使用“-P !profile”的时候就表示在当前操作中该profile将不处于激活状态。

4.4.4根据环境来激活profile

profile一个非常重要的特性就是它可以根据不同的环境来激活,比如说根据操作系统的不同激活不同的profile,也可以根据jdk版本的不同激活不同的profile,等等。

4.4.4.1根据jdk来激活profile

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<jdk>1.5</jdk>

</profile>

<profiles>

上面情况表示在jdk为1.5版本系列的时候激活profileTest1。

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<jdk>[1.4,1.7)</jdk>

</profile>

<profiles>

上面的情况表示在jdk为1.4、1.5和1.6的时候激活profileTest1。

4.4.4.2根据操作系统来激活profile

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<activation>

<os>

<name>WindowsXP</name>

<family>Windows</family>

<arch>x86</arch>

<version>5.1.2600</version>

</os>

</activation>

</profile>

</profiles>

上面的情况就是根据操作系统的类型来激活profileTest1。

4.4.4.3根据系统属性来激活profile

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<activation>

<property>

<name>hello</name>

<value>world</value>

</property>

</activation>

</profile>

</profiles>

上面的profileTest1将在提供了系统属性hello,并且其值为world的时候激活。下面的做法可以激活profileTest1。

Cmd代码

mvnpackage–Dhello=world

当是下面的这种定义形式时,profileTest1将在指定了系统属性hello,且其值为任意值的时候被激活。

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<activation>

<property>

<name>hello</name>

</property>

</activation>

</profile>

</profiles>

4.4.4.4根据文件是否存在激活profile

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<activation>

<file>

<exists>target</exists>

</file>

</activation>

</profile>

</profiles>

上面的定义表示当存在target文件时激活profileTest1。

Xml代码

<profiles>

<profile>

<id>profileTest1</id>

<activation>

<file>

<missing>target</missing>

</file>

</activation>

</profile>

</profiles>

上面的定义表示当不存在target文件时激活profileTest1。

4.5查看当前处于激活状态的profile

我们可以同时定义多个profile,那么在建立项目的过程中,到底激活的是哪一个profile呢?Maven为我们提供了一个指令可以查看当前处于激活状态的profile都有哪些,这个指定就是mvn help:active-profiles。

现在假设我们的settings.xml文件中有如下profile的定义:

<profiles>

<profile>

<id>profileTest1</id>

<activation>

<file>

<missing>target</missing>

</file>

</activation>

</profile>

</profiles>

<activeProfiles>

<activeProfile>profileTest1</activeProfile>

</activeProfiles>

这个时候我们可以看到,我们已经定义了profileTest1始终为激活状态,这个时候我们使用mvn help:active-profiles查看处于激活状态的profile时,就会打印出如下内容:

⑷ weindows mvn 配置文件在哪儿

下载maven,下载后如果是压缩包,进行解压,得到maven目录。找到我们的maven目录并复制路径,右键计算机,属性里选择高级系统设置,找到环境变量。用户变量下选择新建,变量名为M2_HOME,变量值为D:\Program Files\apache-maven-3.1.0,点击确定找到maven下的bin目录D:\Program Files\apache-maven-3.1.0\bin复制,用户变量下选中PATH点击编辑,粘贴,注意加分号跟其它的隔开。这就算配置完成,验证对不对,win+R快捷键cmd进入dos窗口,输入命令,mvn -v(注意中间有个空格),回车运行后可以看见maven版本maven home表示安装成功。进入或者新建想要生成项目的文件夹,通过运行dos命令mvn archetype:generate,可以简单搭建一个maven项目的骨架。运行过程中会让我们输入groupId,artifactId,package,也可以直接设置这些,例如:mvn archetype:generate -DgroupId=com.xh.maven -DartifactId=maven_03 -Dversion=0.0.1_SNAPSHOT如果我们写好了一个项目,dos命令下可以通过mvn compile编译项目src/main/java下中的类如果编译的结果显示有ERROR,怎么查看ERROR的详细信息呢,可以通过mvn -e,从本例这个提示看,就是pom.xml上第一行xml后面编码encoding拼写错误mvn项目是src下有个main,还有个test测试,mvn -test就是编译src/test/java中的类mvn package 打包mvn install 会把打的jar包发到仓库中,这样另一个项目中pom.xml下通过dependency下配置就可调用里面的类

⑸ eclipse 自带maven 配置在哪

maven使用方法如下下载解压Maven包增加两个环境变量Path : 解压目录/binM2_HOME: 解压目录验证安装:开始->运行->cmd进入命令行窗口 Mvn -vEclipse中的Maven设置:Window->preferences->maven->installation->add Maven的安装目录Maven的配置文件全局配置文件的位置: ${maven.home}/conf/settings.xml 需拷贝到用户模式下用户配置文件的位置:${user.home}/.m2/settings.xmlMaven库的设置:Maven引用的jar包,都会通过网络下载添加到maven的库中,方便下次调用,默认存放的库是${user.home}/.m2/repository ,库中的数据越会来月多,存放在C盘,随着系统盘的格式化库会丢失,所以需要自定义库的位置。下载一份包含较多jar包的maven库文件(M2repository.zip),解压并修改用户(user)配置文件<localRepository>库文件的目录</localRepository>也可以在Window->preferences->maven->user settings ->Local Repository中修改使用Eclipse创建Maven项目:File->new->other..àMaven->Maven project创建jar项目,可以选择使用maven-archetype-quickstart来创建创建war项目,可以选择使用cocoon-archetype-webapp来创建接着填写项目的坐标信息,maven使得项目更有层次性,利于管理groupId:项目或者组织的唯一标志,并且配置时生成的路径也是由此生成,如org.codehaus.mojo生成的相对路径为:/org/codehaus/mojoartifactId: 项目的通用名称version:项目的版本packaging: 打包的机制,如pom, jar, maven-plugin, ejb, war, ear, rar, pa希望能够帮助你


赞 (0)