maven 让您的构建不是一般的爽,下面就看看怎么样让maven工作起来。
第一步,做好安装maven前的准备工作,首先安装JDK5或者jdk6.这一步比较简单,学java的同学应该都会,不罗嗦了,检验JDK是否安装好,可以输入如下命令后回车(windows系统)
[img]http://dl.iteye.com/upload/attachment/231993/f53ca4b0-08b2-340e-b279-6f7ec6d8d769.jpg[/img]
第二步,下载maven并进行安装,maven下载地址http://maven.apache.org/download.html ,本文下载的是apache-maven-2.2.0-bin.zip 。下载后解压至当前目录,我的解压地址D:\apache-maven-2.2.0-bin。
设置两个比较重要的环境变量。
view plaincopy to clipboardprint?
M2_HOME= D:\apache-maven-2.2.0-bin\apache-maven-2.2.0
PATH=%PATH%;%M2_HOME%\bin
M2_HOME= D:\apache-maven-2.2.0-bin\apache-maven-2.2.0
PATH=%PATH%;%M2_HOME%\bin
验证你的安装是否正确,则在cmd 下输入 mvn –v .如果出现Maven的版本信息,则表示安装成功,否则,仔细检查你的环境变量设置是否正确。
安装后maven的目录结构如下:
[img]http://dl.iteye.com/upload/attachment/231995/a4efa57c-7276-34d9-b386-daf8be80a1e7.jpg[/img]
bin目录包含了运行Maven的mvn脚本。 boot目录包含了一个负责创建Maven运行所需要的类装载器的JAR文件。 conf目录包含了一个全局的settings.xml文件,该文件用来自定义你机器上Maven的一些行为。如果需要自定义Maven,更通常的做法是覆写 %home%/.m2目录下的settings.xml文件,每个用户都有对应的这个目录。lib目录有了一个包含Maven核心的JAR文件。 另外,默认情况下,maven会将本地仓库存贮在%home%/.m2/repository/下,当你从远程Maven仓库下载依赖的时候,Maven在你本地仓库存储了这个依赖的一个副本,如果你要改变这个位置,那么你得修改settings.xml文件。例如将路径修改到D盘 ,则修改节点 <localRepository>d:/repository</localRepository>,设置后别忘了设置环境变量 M2_REPO= d:/repository .
第三步、创建一个简单web 项目玩玩。
Cmd 下,键入命令
view plaincopy to clipboardprint?
mvn archetype:create -DgroupId=com.taobao.maven -DartifactId=maven-webapp -DpackageName=com.taobao.maven.web -DarchetypeArtifactId=maven-archetype-webapp
mvn archetype:create -DgroupId=com.taobao.maven -DartifactId=maven-webapp -DpackageName=com.taobao.maven.web -DarchetypeArtifactId=maven-archetype-webapp
执行命令后显示信息如下:
view plaincopy to clipboardprint?
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.po
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.ja
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-6/wagon-file-1.0-alpha-6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-alpha-6/wagon-providers-1.0-alpha-6.pom
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.pom
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.jar
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.jar
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:create {execution: default-cli}]
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead
[INFO] artifact org.apache.maven.archetypes:maven-archetype-webapp: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: maven-archetype-webapp:RELEASE
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.taobao.maven
[INFO] Parameter: packageName, Value: com.taobao.maven.web
[INFO] Parameter: basedir, Value: D:\workspace\branch
[INFO] Parameter: package, Value: com.taobao.maven.web
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: maven-webapp
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] OldArchetype created in dir: D:\workspace\branch\maven-webapp
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26 seconds
[INFO] Finished at: Wed Dec 09 16:47:11 CST 2009
[INFO] Final Memory: 8M/15M
[INFO] ------------------------------------------------------------------------
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.po
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.ja
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-6/wagon-file-1.0-alpha-6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-alpha-6/wagon-providers-1.0-alpha-6.pom
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.pom
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.jar
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.jar
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:create {execution: default-cli}]
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead
[INFO] artifact org.apache.maven.archetypes:maven-archetype-webapp: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: maven-archetype-webapp:RELEASE
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.taobao.maven
[INFO] Parameter: packageName, Value: com.taobao.maven.web
[INFO] Parameter: basedir, Value: D:\workspace\branch
[INFO] Parameter: package, Value: com.taobao.maven.web
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: maven-webapp
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] OldArchetype created in dir: D:\workspace\branch\maven-webapp
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26 seconds
[INFO] Finished at: Wed Dec 09 16:47:11 CST 2009
[INFO] Final Memory: 8M/15M
[INFO] ------------------------------------------------------------------------
此时已经创建了一个web项目,你可以切换到maven-webapp目录看到目录结构。
[img]http://dl.iteye.com/upload/attachment/231997/0dc8e154-9b01-376a-b2e7-c9a478ee535b.jpg[/img]
可以看一下这个pom.xml的内容。
view plaincopy to clipboardprint?
<project xmlns="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.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.taobao.maven</groupId>
<artifactId>maven-webapp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>maven-webapp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>maven-webapp</finalName>
</build>
</project>
<project xmlns="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.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.taobao.maven</groupId>
<artifactId>maven-webapp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>maven-webapp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>maven-webapp</finalName>
</build>
</project>
packaging: 这里值为war,表示希望将该项目以war包形式打包,打包后将会在 target目录创建一个 WAR 文件,并以finalName为文件名创建名为maven-wepapp.war的包。
Dependency:表示这里依赖了一个junit的jar文件,只在测试阶段时才使用到。打包时并不会打到war包中去。
第四步、这个简单的web包中已经有了一个helloworld 的index.jsp文件,我们要做的就是将这个项目打包成war,然后放到web容器中去就可以看到效果了。
打包命令 mvn install, 如下:
[img]http://dl.iteye.com/upload/attachment/231999/8881f7f9-4ec1-3ac4-a0f4-e8d26665692a.jpg[/img]
Target目录下已经存在了maven-webapp.war包,部署到Tomcat等容器下后。
访问:
Http://localhost:8080/maven-webapp/index.jsp
即可出现hello world 字样。
另外,maven提供了一个jetty的web容器插件,让我们可以不用自己去下载tomcat等容器,
但是需要在pom.xml配置jetty插件。
view plaincopy to clipboardprint?<build> <finalName>maven-webapp</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> </plugin> </plugins> </build> <build>
<finalName>maven-webapp</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>
</build>
配置好后,可以启动jetty服务器。mvn jetty:run 最后出现view plaincopy to clipboardprint?2009-12-09 17:35:37.065:INFO::jetty-6.1.22 2009-12-09 17:35:37.487:INFO::No Transaction manager found - if your webapp requires one, please configure one. 2009-12-09 17:35:40.049:INFO::Started SelectChannelConnector@0.0.0.0:8080 [INFO] Started Jetty Server 2009-12-09 17:35:37.065:INFO::jetty-6.1.22
2009-12-09 17:35:37.487:INFO::No Transaction manager found - if your webapp requires one, please configure one.
2009-12-09 17:35:40.049:INFO::Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
表示启动成功,访问url即可。 如果jetty无法启动,在settings.xml中,配置一下
view plaincopy to clipboardprint?<pluginGroups> <!-- pluginGroup | Specifies a further group identifier to use for plugin lookup. <pluginGroup>com.your.plugins</pluginGroup> --> <pluginGroup>org.mortbay.jetty</pluginGroup> </pluginGroups> <pluginGroups>
<!-- pluginGroup
| Specifies a further group identifier to use for plugin lookup.
<pluginGroup>com.your.plugins</pluginGroup>
-->
<pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>
即可解决问题。 小提示: 如果想在eclipse中使用工程,则在命令行中运行 Mvn eclipse:eclipse 即可生成eclipse工程所需的.project等文件。 Mvn eclipse:clean 则是将eclipse配置信息清除 如果要在eclipse中查看外部引入包的源代码等,则在命令行中键入mvn dependency:sources 即可下载源代码,如果没有下载,请先执行命令 mvn clean ,后再下载
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lovingprince/archive/2009/12/09/4973247.aspx
第一步,做好安装maven前的准备工作,首先安装JDK5或者jdk6.这一步比较简单,学java的同学应该都会,不罗嗦了,检验JDK是否安装好,可以输入如下命令后回车(windows系统)
[img]http://dl.iteye.com/upload/attachment/231993/f53ca4b0-08b2-340e-b279-6f7ec6d8d769.jpg[/img]
第二步,下载maven并进行安装,maven下载地址http://maven.apache.org/download.html ,本文下载的是apache-maven-2.2.0-bin.zip 。下载后解压至当前目录,我的解压地址D:\apache-maven-2.2.0-bin。
设置两个比较重要的环境变量。
view plaincopy to clipboardprint?
M2_HOME= D:\apache-maven-2.2.0-bin\apache-maven-2.2.0
PATH=%PATH%;%M2_HOME%\bin
M2_HOME= D:\apache-maven-2.2.0-bin\apache-maven-2.2.0
PATH=%PATH%;%M2_HOME%\bin
验证你的安装是否正确,则在cmd 下输入 mvn –v .如果出现Maven的版本信息,则表示安装成功,否则,仔细检查你的环境变量设置是否正确。
安装后maven的目录结构如下:
[img]http://dl.iteye.com/upload/attachment/231995/a4efa57c-7276-34d9-b386-daf8be80a1e7.jpg[/img]
bin目录包含了运行Maven的mvn脚本。 boot目录包含了一个负责创建Maven运行所需要的类装载器的JAR文件。 conf目录包含了一个全局的settings.xml文件,该文件用来自定义你机器上Maven的一些行为。如果需要自定义Maven,更通常的做法是覆写 %home%/.m2目录下的settings.xml文件,每个用户都有对应的这个目录。lib目录有了一个包含Maven核心的JAR文件。 另外,默认情况下,maven会将本地仓库存贮在%home%/.m2/repository/下,当你从远程Maven仓库下载依赖的时候,Maven在你本地仓库存储了这个依赖的一个副本,如果你要改变这个位置,那么你得修改settings.xml文件。例如将路径修改到D盘 ,则修改节点 <localRepository>d:/repository</localRepository>,设置后别忘了设置环境变量 M2_REPO= d:/repository .
第三步、创建一个简单web 项目玩玩。
Cmd 下,键入命令
view plaincopy to clipboardprint?
mvn archetype:create -DgroupId=com.taobao.maven -DartifactId=maven-webapp -DpackageName=com.taobao.maven.web -DarchetypeArtifactId=maven-archetype-webapp
mvn archetype:create -DgroupId=com.taobao.maven -DartifactId=maven-webapp -DpackageName=com.taobao.maven.web -DarchetypeArtifactId=maven-archetype-webapp
执行命令后显示信息如下:
view plaincopy to clipboardprint?
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.po
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.ja
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-6/wagon-file-1.0-alpha-6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-alpha-6/wagon-providers-1.0-alpha-6.pom
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.pom
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.jar
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.jar
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:create {execution: default-cli}]
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead
[INFO] artifact org.apache.maven.archetypes:maven-archetype-webapp: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: maven-archetype-webapp:RELEASE
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.taobao.maven
[INFO] Parameter: packageName, Value: com.taobao.maven.web
[INFO] Parameter: basedir, Value: D:\workspace\branch
[INFO] Parameter: package, Value: com.taobao.maven.web
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: maven-webapp
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] OldArchetype created in dir: D:\workspace\branch\maven-webapp
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26 seconds
[INFO] Finished at: Wed Dec 09 16:47:11 CST 2009
[INFO] Final Memory: 8M/15M
[INFO] ------------------------------------------------------------------------
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.po
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-4/maven-archetype-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.0-alpha-4/maven-archetype-plugin-2.0-alpha-4.ja
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file/1.0-alpha-6/wagon-file-1.0-alpha-6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-providers/1.0-alpha-6/wagon-providers-1.0-alpha-6.pom
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.pom
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetype/archetype-common/2.0-alpha-4/archetype-common-2.0-alpha-4.jar
Downloading: http://repo1.maven.org/maven2/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jchardet/jchardet/1.0/jchardet-1.0.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker/2.0.6/maven-invoker-2.0.6.jar
Downloading: http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:create {execution: default-cli}]
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead
[INFO] artifact org.apache.maven.archetypes:maven-archetype-webapp: checking for updates from central
Downloading: http://repo1.maven.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: maven-archetype-webapp:RELEASE
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.taobao.maven
[INFO] Parameter: packageName, Value: com.taobao.maven.web
[INFO] Parameter: basedir, Value: D:\workspace\branch
[INFO] Parameter: package, Value: com.taobao.maven.web
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: maven-webapp
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] OldArchetype created in dir: D:\workspace\branch\maven-webapp
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26 seconds
[INFO] Finished at: Wed Dec 09 16:47:11 CST 2009
[INFO] Final Memory: 8M/15M
[INFO] ------------------------------------------------------------------------
此时已经创建了一个web项目,你可以切换到maven-webapp目录看到目录结构。
[img]http://dl.iteye.com/upload/attachment/231997/0dc8e154-9b01-376a-b2e7-c9a478ee535b.jpg[/img]
可以看一下这个pom.xml的内容。
view plaincopy to clipboardprint?
<project xmlns="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.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.taobao.maven</groupId>
<artifactId>maven-webapp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>maven-webapp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>maven-webapp</finalName>
</build>
</project>
<project xmlns="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.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.taobao.maven</groupId>
<artifactId>maven-webapp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>maven-webapp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>maven-webapp</finalName>
</build>
</project>
packaging: 这里值为war,表示希望将该项目以war包形式打包,打包后将会在 target目录创建一个 WAR 文件,并以finalName为文件名创建名为maven-wepapp.war的包。
Dependency:表示这里依赖了一个junit的jar文件,只在测试阶段时才使用到。打包时并不会打到war包中去。
第四步、这个简单的web包中已经有了一个helloworld 的index.jsp文件,我们要做的就是将这个项目打包成war,然后放到web容器中去就可以看到效果了。
打包命令 mvn install, 如下:
[img]http://dl.iteye.com/upload/attachment/231999/8881f7f9-4ec1-3ac4-a0f4-e8d26665692a.jpg[/img]
Target目录下已经存在了maven-webapp.war包,部署到Tomcat等容器下后。
访问:
Http://localhost:8080/maven-webapp/index.jsp
即可出现hello world 字样。
另外,maven提供了一个jetty的web容器插件,让我们可以不用自己去下载tomcat等容器,
但是需要在pom.xml配置jetty插件。
view plaincopy to clipboardprint?<build> <finalName>maven-webapp</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> </plugin> </plugins> </build> <build>
<finalName>maven-webapp</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>
</build>
配置好后,可以启动jetty服务器。mvn jetty:run 最后出现view plaincopy to clipboardprint?2009-12-09 17:35:37.065:INFO::jetty-6.1.22 2009-12-09 17:35:37.487:INFO::No Transaction manager found - if your webapp requires one, please configure one. 2009-12-09 17:35:40.049:INFO::Started SelectChannelConnector@0.0.0.0:8080 [INFO] Started Jetty Server 2009-12-09 17:35:37.065:INFO::jetty-6.1.22
2009-12-09 17:35:37.487:INFO::No Transaction manager found - if your webapp requires one, please configure one.
2009-12-09 17:35:40.049:INFO::Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
表示启动成功,访问url即可。 如果jetty无法启动,在settings.xml中,配置一下
view plaincopy to clipboardprint?<pluginGroups> <!-- pluginGroup | Specifies a further group identifier to use for plugin lookup. <pluginGroup>com.your.plugins</pluginGroup> --> <pluginGroup>org.mortbay.jetty</pluginGroup> </pluginGroups> <pluginGroups>
<!-- pluginGroup
| Specifies a further group identifier to use for plugin lookup.
<pluginGroup>com.your.plugins</pluginGroup>
-->
<pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>
即可解决问题。 小提示: 如果想在eclipse中使用工程,则在命令行中运行 Mvn eclipse:eclipse 即可生成eclipse工程所需的.project等文件。 Mvn eclipse:clean 则是将eclipse配置信息清除 如果要在eclipse中查看外部引入包的源代码等,则在命令行中键入mvn dependency:sources 即可下载源代码,如果没有下载,请先执行命令 mvn clean ,后再下载
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lovingprince/archive/2009/12/09/4973247.aspx