1) 安装Maven,跟装ant一样,官方网站http://maven.apache.org
2) 建立项目骨架,开一个console命令行窗口,输入以下命令:
简单解释一下:
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标准项目布局结构见
其实就是要自己手动建立几个目录而已,下面一条命令全部搞定
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 代码
5) 运行测试
java 代码
在网络正常联通的情况下,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等等.
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