Maven DOS - 好心情的博客- JavaEye技术网站
1) 安装Maven,跟装ant一样,官方网站http://maven.apache.org
2) 建立项目骨架,开一个console命令行窗口,输入以下命令:
  
mvn archetype:create -DgroupId=com.javaeye.xml.webapp -DartifactId=cjxweb -DarchetypeArtifactId=maven-archetype-webapp

简单解释一下:
archetype             是一个内建插件,他的create任务将建立项目骨架
archetypeArtifactId   项目骨架的类型
可用项目骨架有:
    * maven-archetype-archetype
    * maven-archetype-j2ee-simple
    * maven-archetype-mojo
    * maven-archetype-portlet
    * maven-archetype-profiles (currently under development)
    * maven-archetype-quickstart
    * maven-archetype-simple (currently under development)
    * maven-archetype-site
    * maven-archetype-site-simple, and
    * maven-archetype-webapp
groupId               项目的java包结构,可修改
artifactId            项目的名称,生成的项目目录也是这个名字,可修改
在当前目录下会生成一个cjxweb文件夹,这个文件就是我们的项目文件夹了
D:\CJXWEB                  
└─src                    
    └─main               
        ├─resources      
        └─webapp         
            └─WEB-INF    

3) 补全项目的目录结构,因为生成的项目骨架是个webapp最小化骨架结构,与Maven的标准项目布局还有差距,
Maven标准项目布局结构见
其实就是要自己手动建立几个目录而已,下面一条命令全部搞定
mkdir src\main\java\com\javaeye\xml\webapp,src\test\java\com\javaeye\xml\webapp,src\test\resources

D:\CJXWEB
└─src
    ├─main
    │  ├─java
    │  │  └─com
    │  │      └─javaeye
    │  │          └─xml
    │  │              └─webapp
    │  ├─resources
    │  └─webapp
    │      └─WEB-INF
    └─test
        ├─java
        │  └─com
        │      └─javaeye
        │          └─xml
        │              └─webapp
        └─resources





4)  添加一个嵌入式servlet/jsp容器jetty6,用nio重写过的嵌入式服务器,开发和调试web项目非常方便,这里需要编辑{wy}的配置文件 pom.xml,其实并不难
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.org/POM/4.0.0 [url]http://maven.apache.org/maven-v4_0_0.xsd[/url]">  
  <modelVersion>4.0.0</modelVersion>  
  <groupId>com.mycompany.webapp</groupId>  
  <artifactId>myweb</artifactId>  
  <packaging>war</packaging>  
  <version>1.0-SNAPSHOT</version>  
  <name>myweb Maven Webapp</name>  
  <url>[url]http://maven.apache.org[/url]</url>  
  <dependencies>  
    <dependency>  
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>3.8.1</version>  
      <scope>test</scope>  
    </dependency>
     <!-- servlet-api -->
      <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5-6.0.0</version>
    </dependency>
  </dependencies>  
  <build>  
    <finalName>myweb</finalName> 
    <!-- 添加以下6行插件配置代码 -->
   <plugins>  
      <plugin>  
        <groupId>org.mortbay.jetty</groupId>  
        <artifactId>maven-jetty-plugin</artifactId>  
      </plugin>  
    </plugins>
    <!-- 添加以上6行插件配置代码 -->
  </build>  
</project>   

    * modelVersion  制定POM文件所使用的模板版本, 虽然POM文件版本是不经常更新的,但是强制指定版本可以保持整个项目的一致性和稳定性.
    * groupId 这个标签用来指定这个项目所属的公司或者组织, 在这个例子里, groupId为com.alibaba.base, 表示这个构件是属于alibaba基础模块的. 这个属性通常与artifaceId一起共同标识一个构件
    * artifactId 指定这个构件的名称, 这个例子里面是ftpserver, 在生成的最终文件中,这里的artifactId将作为文件名的一部分出现, 标准的文件命名格式为<artifactId>-<version>.<extension>,  这个例子就是ftpserver-1.0.jar
    * packaging 用来指定打包类型,比如JAR, WAR, EAR等, 如果不指定那么默认是JAR, 这里的不仅仅可以指定打包类型,也可以指定为一个特定的生命周期作为整个build过程的一部分, 关于这一部分我们将来再详细讨论.
    * version 制定项目版本, 这里版本多了一个SNAPSHOT的概念, 作用域开发过程, 在后面会详细介绍如何使用SNAPSHOT来进行协作开发.
    * name 制定项目名称, Maven在根据项目生成文档的时候会用到这个标签属性
    * url 指定这个项目的站点地址, Maven在根据项目生成文档的时候会用到这个标签属性
    * description 项目的描述信息, Maven在根据项目生成文档的时候会用到这个标签属性


5)  运行测试
java 代码
mvn jetty:run

在网络正常联通的情况下,maven会自动下载所有的jar依赖包,然后启动jetty6,可以在浏览器中访问http://localhost:8080/cjxweb/index.jsp
Jetty6 已经启动并显示了经典到掉渣的“Hello World!”
现在可以修改src/main/webapp/index.jsp,然后在浏览器刷新看效果了,最简单的web骨架就这样诞生了
停止jetty6的命令是Ctrl+C

之后,可以在pom.xml中添加 spring,hibernate/ibatis,struts/struts2/webwork2以及 report,xdoclet,hibernate代码生成工具,DbUnit等等.

mvn archetype:generate

在交互界面中:
?Choose a number: 回车即可,也就是选择15
?Define value for groupId: 输入组织id,比如com.javaeye
?Define value for artifactId:输入项目名称,比如mytest
?Define value for version: 输入版本号,可以直接回车,默认是1.0-SNAPSHOT
?Define value for package: java的包名,比如com.javaeye

郑重声明:资讯 【Maven DOS - 好心情的博客- JavaEye技术网站】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——