﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-小菜毛毛技术分享-随笔分类-maven</title><link>http://www.blogjava.net/caizh2009/category/42426.html</link><description>与大家共同成长</description><language>zh-cn</language><lastBuildDate>Tue, 27 Oct 2009 04:16:15 GMT</lastBuildDate><pubDate>Tue, 27 Oct 2009 04:16:15 GMT</pubDate><ttl>60</ttl><item><title>maven 初步 入门(转)</title><link>http://www.blogjava.net/caizh2009/archive/2009/10/27/299901.html</link><dc:creator>小菜毛毛</dc:creator><author>小菜毛毛</author><pubDate>Tue, 27 Oct 2009 03:35:00 GMT</pubDate><guid>http://www.blogjava.net/caizh2009/archive/2009/10/27/299901.html</guid><wfw:comment>http://www.blogjava.net/caizh2009/comments/299901.html</wfw:comment><comments>http://www.blogjava.net/caizh2009/archive/2009/10/27/299901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caizh2009/comments/commentRss/299901.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caizh2009/services/trackbacks/299901.html</trackback:ping><description><![CDATA[<p>最近使用发现了个问题，在下面的介绍使用maven建立web工程的时候有个选项： －DarchetypeArtifactId=maven-archetype-webapp,假如你把这其中的大写A不小心成了小写，则在pom.xml中，生成的将是jar包，而不再是war包了。这两天看了看ant和maven，感觉受益不小，以前总以为自己会ant和maven呢，老认为不用很学习的ant和mvn也有这么大的学问阿，把我的心得写写： maven：&nbsp;&nbsp; 创建一个web-app工程：&nbsp;&nbsp; mvn archetype:create -DgroupID=[类－包的名字] -DartifactID=[应用的名称] -DrarchetypeArtifactID=maven-archetype-webapp 请注意，上面的语句是不正确的，如果这样写了就会出下面的错误： BUILD ERROR&nbsp; Error creating from archetype [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error creating from archetype Embedded error: Artifact ID must be specified when creating a new project from an archetype. [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ 这是新手很容易犯的错误！改正方法是把上面的&#8220;ID&#8221;改为&#8220;Id&#8221;，这样就可以正确的建立一个工程了！给定两个简单模型： Application: mvn archetype:create -DgroupId=ce.demo.mvn -DartifactId=app |-- pom.xml `-- src&nbsp;&nbsp;&nbsp;&nbsp; |-- main&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; `-- java&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- ce&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- demo&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- mvn&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- App.java&nbsp;&nbsp;&nbsp;&nbsp; `-- test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- ce&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- demo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- mvn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- AppTest.java web-app: mvn archetype:create -DgroupId=ce.demo.mvn -DartifactId=webapp-DarchetypeArtifactId=maven-archetype-webapp |-- pom.xml `-- src&nbsp;&nbsp;&nbsp;&nbsp; `-- main&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- webapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |-- index.jsp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |-- WEB-INF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `-- web.xml <br />
使用如下命令可以建立一个Struts2 Starter应用程序<br />
mvn archetype:create <br />
-DgroupId=tutorial <br />
&nbsp;&nbsp;&nbsp; -DartifactId=tutorial <br />
&nbsp;&nbsp;&nbsp; -DarchetypeGroupId=org.apache.struts \<br />
&nbsp;&nbsp;&nbsp; -DarchetypeArtifactId=struts2-archetype-starter \<br />
&nbsp;&nbsp;&nbsp; -DarchetypeVersion=2.0.5-SNAPSHOT<br />
-DremoteRepositories=http://people.apache.org/repo/m2-snapshot-repository<br />
&nbsp;<br />
参数含义：<br />
&nbsp;<br />
参数 含义 <br />
groupId 当前应用程序隶属的Group的ID，通常是公司所有应用程序的根目录，例如：com.jpleasure <br />
artifactId&nbsp; 当前应用程序的ID <br />
package 代码生成时使用的根包的名字，如果没有给出，默认使用archetypeGroupId <br />
archetypeGroupId 原型（archetype）的Group ID，因为我们这里使用的是Struts2的原型，所以这里总是org.apache.struts <br />
archetypeArtifactId&nbsp; 原型（archetype）ID <br />
archetypeVersion&nbsp; 原型（archetype）版本 <br />
remoteRepositories&nbsp; 包含原型（archetype）的远程资源库的列表，如果部署在标准的maven资源库或者本地，这不需要标记本项 </p>
<p>&nbsp;<br />
一些相关的Maven命令（注意要再项目目录中运行）<br />
构建<br />
mvn install<br />
创建IntelliJ IDEA项目文件<br />
mvn idea:idea<br />
创建Eclipse项目文件<br />
&nbsp;mvn eclipse:eclipse<br />
运行测试<br />
mvn test<br />
清除<br />
mvn clean<br />
打包<br />
mvn package<br />
获得需要的JAR文件<br />
mvn initialize<br />
使用Jetty运行<br />
mvn jetty:run 在使用此命令之前，需要在xml配置文件中作如下改动：</p>
<p>&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&nbsp;&nbsp; <br />
&nbsp; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;modelVersion&gt;4.0.0&lt;/span--&gt;modelVersion&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;groupId&gt;com.mycompany.webapp&lt;/span--&gt;groupId&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;artifactId&gt;myweb&lt;/span--&gt;artifactId&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;packaging&gt;war&lt;/span--&gt;packaging&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;version&gt;1.0-SNAPSHOT&lt;/span--&gt;version&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;name&gt;myweb Maven Webapp&lt;/span--&gt;name&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;url&gt;http://maven.apache.org&lt;/span--&gt;url&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;dependencies&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;dependency&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;junit&lt;/span--&gt;groupId&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;junit&lt;/span--&gt;artifactId&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;3.8.1&lt;!--&lt;/span--&gt;version&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;scope&gt;test&lt;!--&lt;/span--&gt;scope&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;/span--&gt;dependency&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;/span--&gt;dependencies&gt;&nbsp;&nbsp; <br />
&nbsp; &lt;build&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;finalName&gt;myweb&lt;／span--&gt;finalName&gt;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;!-- 添加以下6行插件配置代码 --&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;plugins&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;plugin&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/plugin&gt;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;/plugins&gt;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;!-- 添加以上6行插件配置代码 --&gt; <br />
&nbsp; &lt;/build&gt;&nbsp;&nbsp; <br />
&lt;/project&gt;&nbsp; <br />
请注意，在./src/main/目录下面见一个java文件夹，以存放bean,这需要手动来建立：<br />
mkdir $webapp/src/main/java</p>
<p>Maven2较maven1有较大的变化,这里推荐使用maven2并不仅仅因为它是高的版本. 其中变化较大的是在它建立的项目中,只有一个pom.xm配置文件.这里是我的一个工程的配置文件拷贝 attachment/200710/pom.xml.... 你会发现其中的代码如下&nbsp;&nbsp; &lt;project&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;com.last999&lt;/groupId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;bbs&lt;/artifactId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;packaging&gt;war&lt;/packaging&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;1.3&lt;/version&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name&gt;bbs&lt;/name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url&gt;last999.com&lt;/url&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;description&gt;mybbs&lt;/description&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependencies&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- Junit --&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependency&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;junit&lt;/groupId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;junit&lt;/artifactId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;4.4&lt;/version&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;scope&gt;test&lt;/scope&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependency&gt;<br />
.......................<br />
&nbsp;</p>
<p>项目都是在&lt;project&gt;中设定,加入要添加新的开源框架,你只需要到maven源的老家走一趟,查到你需要的版本:比如我们现在需要使用struts.那么我们只需要添加以下几行:<br />
&lt;dependency&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;struts2-core&lt;/artifactId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;2.0.9&lt;/version&gt;<br />
&nbsp;&lt;/dependency&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果再需要和spring集成,除了添加spring需要的包外,你只需要添加:<br />
&lt;dependency&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;struts2-spring-plugin&lt;/artifactId&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;2.0.9&lt;/version&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependency&gt;<br />
其他一切就 让maven给你自动完成吧!</p>
<p><br />
本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/zql2002/archive/2008/06/12/2537770.aspx</p>
<img src ="http://www.blogjava.net/caizh2009/aggbug/299901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caizh2009/" target="_blank">小菜毛毛</a> 2009-10-27 11:35 <a href="http://www.blogjava.net/caizh2009/archive/2009/10/27/299901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>