maven配置文件是用什么写的|Maven-Spring多项目加载配置文件

1. 如何用eclipse写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 Pom.xml包含了项目的所有信息(以下不是必要信息)项目的依赖:<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency>安装Jetty插件:<plugin><groupId>org.mortbay.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>7.1.6.v20100715</version><configuration><scanIntervalSeconds>10</scanIntervalSeconds><webAppConfig><contextPath>/projectX</contextPath></webAppConfig></configuration></plugin>运行Maven项目:运行Jar项目右键->run as -> java application运行war项目,需要使用到Tomcat或者在pom.xml里面添加jetty的插件,在命令行窗口,转到项目目录 输入mvn jetty:run

2. maven中使用freemarker,如何配置需要哪些配置文件

1)命令行执行以下语句 mvn archetype:create -DgroupId=com.watson -DartifactId=s2sh -DarchetypeArtifactId=maven-archetype-webapp就会在当前目录下创建一个s2sh的web工程,2)使用struts2框架,需要添加struts2的依赖到pom.xml里面。 <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.8.0.GA</version> </dependency>3)然后进入工程目录下执行mvn compile,编译成功则表示配置正确。4)把maven项目转换成web项目: mvn eclipse:clean mvn -Dwtpversion=2.0 eclipse:eclipse5)在s2sh\src\main下面添加java文件夹存放java文件,添加resources文件夹存放配置文件,webapp是web相关的文件。在webapp文件夹下打开web.xml添加struts2的过滤器。 <web-app><display-name>s2 Web Application</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPr epareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>

3. 如何在maven中编写项

1.Eclipse中用Maven创建项目

4. maven干什么用

项目管理软件Maven是用Jelly作为自己的脚本语言,因此在编写自己的Goal时,需要了解一些Jelly的基本知识.在Maven中,还有一些配置文件,如:project.xml,maven.xml,project.properties等.project.xml是项目的主配置文件,没有该文件Maven是不能执行的.文件中包含的属性,元素可以参考它的xsd文件.一般在make java app时,都会应用很多其它的jar文件,在Maven中它提供了Repository,在这里它存有很多的jar文件.当然,在Repository中也存有Maven执行的一些类库文件.如果,你第一次运行Maven时,它会从网上的Repository下载需要的类库.如果此时,网络是断的,就不行了.运行Maven的site:generate,可以生成一个关于项目信息和项目报告的网站,所有的页面都是html格式的.其中,包含非常丰富的项目信息:项目组成员,邮件列表,单元测试,javadoc等等.这样,就可以让人能大致把握住项目的概括.试试吧,你会喜欢它的!

5. 请问maven是什么怎么使用

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。 Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。 此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。编辑本段Maven 常用命令mvn archetype:create 创建Maven项目 mvn compile 编译源代码 mvn test-compile 编译测试源代码 mvn test 运行应用程序中的单元测试 mvn site 生成项目相关信息的网站 mvn clean 清除项目目录中的生成结果 mvn package 根据项目生成的jar mvn install 在本地Respository中安装jar mvn eclipse:eclipse 生成eclipse项目文件编辑本段推荐书籍目前中文版对maven介绍比较全的书籍是《Maven实战》编辑本段Maven 环境的配置现在Java新架构的不断出现,例如Struts,Spring,Hibernate等,项目的配置文件的增多,给开发人员带来很大麻烦。在实际的开发当中,Myeclipse中的project越来越庞大,所依赖的第三方Jar包越来越多,这显得Project很臃肿,给项目管理带来了很大不便,尤其是在一些大型项目。为了解决上述问题,Apache开源组织发布了Maven[1],它适用于大的Java项目。 系统及环境:Win7 ,Jdk1.6 ,Myeclipse7.5。 首先要安装Jdk1.6 和 Myeclipse7.5 。 1. Maven有一个重要的文件"settings.xml“,这个文件来源于apache-maven-2.0.8/conf/ 下,要放在windows下, Win7和Winxp还是有点不一样 , Win7 —C:\Users\用户名\.m2 , Winxp —C:\Documents and Settings\用户名\.m2 。 2. 设置Maven的环境变量,基本上和设置Jdk环境变量相似,首先设置MAVEN_HOME,再加入Path 。 3. 修改”settings.xml” 文件,在这个文件中找到<localRepository>d:/work</localRepository>这一行,进行修改。这一行代表了Maven的Jar包仓库的位置。work下放的都是项目所用到的jar包,每个Project都可以共用一个work。 4. Myeclipse7.5及以上版本本身自带Maven插件。如果使用低版本的Myeclipse需要安装插件,在help菜单中选择software updates,选择find and install,选择search for new features to install-选择new remote site。写入 name:maven URL:http:// m2eclipse.codehaus . org/update/去下载相关jar包和插件。 5. 在Myeclipse中windows-perferences中,在下图的位置上,查看users settings的路径是否正确。 6. 建立Maven的project,File–new—other—Java Maven Project 7. 然后打开project里pom.xml文件, <project xmlns="http:// maven.apache. org/POM/4.0.0"xmlns:xsi="http://www .w3. org/2001/XMLSchema-instance" xsi:schemaLocation="http: //maven .apache .o rg/POM/4.0.0http: //m aven.apache . org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>maventest</groupId> <artifactId>maventest</artifactId> <packaging>jar</packaging> <version>0.0.1-SNAPSHOT</version> <name>Maven Quick Start Archetype</name> <url>http:// maven.apac he. org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project> 在这xml文件中添加Maven所依赖的Jar的名称,也就是添加<dependency></dependency>节点。 例如:添加大家常用的Struts Jar包 <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.0.11</version> </dependency> 8. 到现在为止,环境就算搞定了。接下来要应用Maven来打包Project为大家服务的。 在cmd中的命令: a. mvn eclipse:clean 清除Project中以前的编译的东西,重新再来 b. mvn eclipse:eclipse 开始编译Maven的Project 在Myeclipse中的操作: a. 选中Maven Project 右击 在Run As中选择Maven clean b. 在Myeclipse中,Project—Clean 开始编译 c. 选中Maven Project 右击 在Run As中选择Maven install 执行完这几步,如果没发生异常,会在project里生成一个target文件夹,这个文件夹里的东西,就是Maven打包发布的东西。

6. Maven-Spring多项目加载配置文件

1,classpath:applicationContext.xml改为classpath*:applicationContext.xml这么写也是一样的效果:classpath*:/applicationContext.xml2,在applicationContext.xml引用其它的配置文件:如果在同一个专jar包这么写,

Java代码

<importresource="classpath:/applicationContext-action.xml"/>

要导入其它jar包中属的配置文件,这么写

Java代码

<importresource="classpath*:/applicationContext-service.xml"/>

就这么简单,重新打包、部署、启动成功。

7. maven配置文件中moles是什么意思

moles

从字面意思来说,mole就是模块,而pom.xml中的moles也正是这个意思,用来管理同个项目中的各个模块;如果maven用的比较简单,或者说项目的模块在pom.xml没进行划分,那么此元素是用不到的;不过一般大一点的项目是要用到的。

1.需求场景

如果我们的项目分成了好几个模块,那么我们构建的时候是不是有几个模块就需要构建几次了(到每个模块的目录下执行mvn命令)?当然,你逐个构建没问题,但是非要这么麻烦的一个一个的构建吗,那么简单的做法就是使用聚合,一次构建全部模块。

2.具体实现

a.既然使用聚合,那么就需要一个聚合的载体,先创建一个普通的maven项目account-aggregator,

因为是个聚合体,仅仅负责聚合其他模块,那么就只需要上述目录,该删除的就删了;注意的是pom文件的书写(红色标明的):

<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.youbing.account</groupId><artifactId>account-aggregator</artifactId><version>1.0.0-SNAPSHOT</version><packaging>pom</packaging><name>AccountAggrregator</name><url>http://maven.apache.org</url><moles><!–模块都写在此处–><mole>account-register</mole><mole>account-persist</mole></moles></project>

b.创建子模account-register、account-persist:右击account-aggregator,new –> other –> Maven,选择Maven Mole,创建moven模块。

e.那么编码完了之后,我们只需要构建account-aggregator就好了,所有的子模块都会构建。

8. windows怎么配置maven

1下载Maven的安装包,下2点击apache-maven-3.2.5-bin.zip 链接下载 3.2.5 版本的mavn包。3下载后的文件为apache-maven-3.2.5-bin.zip压缩包,将其解压到一个固定的文件夹。我的是解压到 C:\tools 目录下,更新Maven时只需要下载新的Maven包,解压到此目录并按照第三步修改环境变量即可。4修改环境变量。打开系统属性面板(在桌面上右击"我的电脑" ->"属性"->"高级系统设置"),然后点击"环境变量" ->"新建"->输入"M2_HOME"和Maven解压后的根目录路径(我解压到C:\tools下所以完整的路径就是C:\tools\apache-maven-3.2.5),然后点击确定,再然后找到名为Path的系统变量,单击选中后点击"编辑",将%M2_HOME%\bin; 添加到变量值的开头(注意最后的分号也是要添加的)。5验证是否安装成功。点击windows左下角的"开始",在搜索框中输入cmd,然后回车就可以打开windows的命令提示符窗口,然后输入echo %M2_HOME% 命令查看设置的环境变量,输入mvn -v 查看maven的版本,如果安装成功则显示如下所示:6生成Maven本地仓库。在Maven项目中,用户无需像以前一样自己下载依赖的jar包再放入项目中,只需要定义项目的 pom.xml 文件,对项目使用Maven命令时,Maven会自动从网络上下载相应的包到本地仓库,项目就可以直接使用本地仓库的包。第一次安装Maven时在windows的命令提示符窗口输入 mvn help:system 命令然后回车,等其执行完后就可以在 C:\Users\Admin\.m2\repository 看到 Maven 下载的一些文件。注: 本步必须在联网情况下执行。7用户自定义配置。Maven有一个全局配置文件为Maven根目录/conf/settings.xml 文件(比如我的就是 C:\tools\apache-maven-3.2.5\conf\settings.xml),Maven默认是使用此配置文件,所有用户共享此配置。但是推荐每一个用户配置自己的配置文件,防止无意思影响系统中其他用户,只需要将全局的配置文件复制到用户目录下的 .m2 文件夹即可(我的当前用户是 Admin,所以复制后为 C:\Users\Admin\.m2\settings.xml )。(如果没有 .m2 文件夹 请先执行上一步,maven会在当前用户的目录下生成.m2 文件夹)。

9. 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时,就会打印出如下内容:


赞 (0)