Maven DOS

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文件夹,这个文件就是我们的项目文件夹了
[color=darkblue]D:\CJXWEB
└─src
└─main
├─resources
└─webapp
└─WEB-INF [/color]
3) 补全项目的目录结构,因为生成的项目骨架是个webapp最小化骨架结构,与Maven的标准项目布局还有差距,
Maven标准项目布局结构见[url]http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html[/url]
其实就是要自己手动建立几个目录而已,下面一条命令全部搞定
mkdir src\main\java\com\javaeye\xml\webapp,src\test\java\com\javaeye\xml\webapp,src\test\resources

[color=darkblue]D:\CJXWEB
└─src
├─main
│ ├─java
│ │ └─com
│ │ └─javaeye
│ │ └─xml
│ │ └─webapp
│ ├─resources
│ └─webapp
│ └─WEB-INF
└─test
├─java
│ └─com
│ └─javaeye
│ └─xml
│ └─webapp
└─resources[/color]

[img]http://dl.iteye.com/upload/attachment/207485/89403987-a00c-37e8-bf9a-9bb6ee6540e8.gif[/img]
[url]http://www.ibm.com/developerworks/cn/opensource/os-maven2/[/url]

4) 添加一个嵌入式servlet/jsp容器jetty6,用nio重写过的嵌入式服务器,开发和调试web项目非常方便,这里需要编辑唯一的配置文件 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>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.6</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
</configuration>
</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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值