
输入mvn -v
如果出现Maven版本号和JAVA版本号及操作系统名等标识,证明你的MAVEN已安装成功了。

二、用MAVEN生成一个全新的应用骨架
上面提到了国内有一个开源团队使用了MAVEN,并且提供了生成项目骨架的能力。
和上面的方式一样,打开一个命令行窗口,转到一个没有空格的目录。

2.1 生成项目骨架
运行:
Mvn archetype:create –DarchetypeGroupId=com.easyjf.easyjweb –DremoteRepositories=http://dl.easyjf.com/maven2 –DarchetypeArtifactId=easyjweb-basic-initial –DarchetypeVersion=1.0 –DgroupId=com.mycompany.project –DartifactId=mynewappname
批处理文件下载
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ----------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ----------------------------------------------------------------------------
[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] **************************************************************
[INFO] Starting Jakarta Velocity v1.4
...省去N行提示信息
[INFO] ********************* End of debug info from resources from generated POM ***********************
[INFO] Archetype created in dir: Z:\usr\local\workspace\mynewapp
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5 seconds
[INFO] Finished at: Tue Nov 27 10:29:12 GMT+08:00 2007
[INFO] Final Memory: 5M/9M
[INFO] ------------------------------------------------------------------------
生成成功了!
Z:\usr\local\workspace\mynewapp\pom.xml
Z:\usr\local\workspace\mynewapp\src
Z:\usr\local\workspace\mynewapp\src\main
Z:\usr\local\workspace\mynewapp\src\test
Z:\usr\local\workspace\mynewapp\src\main\java
Z:\usr\local\workspace\mynewapp\src\main\resources
Z:\usr\local\workspace\mynewapp\src\main\webapp
Z:\usr\local\workspace\mynewapp\src\main\java\log4j.properties
Z:\usr\local\workspace\mynewapp\src\main\resources\README.txt
Z:\usr\local\workspace\mynewapp\src\main\webapp\WEB-INF
Z:\usr\local\workspace\mynewapp\src\main\webapp\favicon.ico
Z:\usr\local\workspace\mynewapp\src\main\webapp\index.html
Z:\usr\local\workspace\mynewapp\src\main\webapp\robots.txt
Z:\usr\local\workspace\mynewapp\src\main\webapp\WEB-INF\web.xml
Z:\usr\local\workspace\mynewapp\src\main\webapp\WEB-INF\lib
Z:\usr\local\workspace\mynewapp\src\main\webapp\WEB-INF\classes
Z:\usr\local\workspace\mynewapp\src\main\webapp\WEB-INF\views
Z:\usr\local\workspace\mynewapp\src\main\webapp\WEB-INF\lib\README.txt
Z:\usr\local\workspace\mynewapp\src\main\webapp\WEB-INF\classes\README.txt
Z:\usr\local\workspace\mynewapp\src\main\webapp\WEB-INF\views\README.txt
Z:\usr\local\workspace\mynewapp\src\test\java
Z:\usr\local\workspace\mynewapp\src\test\java\com
Z:\usr\local\workspace\mynewapp\src\test\java\com\myeasyjf
Z:\usr\local\workspace\mynewapp\src\test\java\com\myeasyjf\initial
Z:\usr\local\workspace\mynewapp\src\test\java\com\myeasyjf\initial\HelloEasyJWebTest.java
其中根目录下有src目录和pom.xml文件,src里为所有项目代码相关的文件;
Pom.xml文件为maven的项目定义文件;
Src\main\java下为项目的源码包存放路径;
Src\main\resources下为项目要使用的资源;
Src\main\webapp下为WEB项目的根目录,可以把本目录直接放到WEB容器的WEB应用目录即可直接启动该应用。
2.2 测试生成的应用
生成了以上结构的文件,一个可以运行easyjweb的最小应用骨构,我们可以从这里直接启动它来测试我们生成的代码是否可以正常运行。
进入刚才生成的mynewapp目录
运行:
mvn jetty:run
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'jetty'.
[INFO] ----------------------------------------------------------------------------
[INFO] Building MyEasyjweb Initial Application
[INFO] task-segment: [jetty:run]
[INFO] ----------------------------------------------------------------------------
[INFO] Preparing jetty:run
1.1 测试安装结果
从开始->运行输入cmd打开WINDOWS的命令行窗口

启动成功了,打开浏览器
http://localhost:82/

由于在easyjweb中设置了web服务器的端口为82,而http的默认端口为80,所以需要在地址栏后加上修改后的端口号码才可以正常访问服务器。
这个生成的初使骨构已具备了处理基本页面的能力,可以通过新建一个Action和视图模板,来展示页面和程序相结合的使用。
三、用Eclipse和Maven工具开发
3.1 Maven for Eclipse plugin 安装
请参考本文:http://maven.apache.org/plugins/maven-eclipse-plugin/source-repository.html
3.2 导入项目到IDE中(Eclipse)
在Z:\usr\local\workspace\mynewapp下运行
Mvn eclipse:eclipse
Z:\usr\local\workspace\mynewapp>mvn eclipse:eclipse
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'eclipse'.
[INFO] ----------------------------------------------------------------------------
[INFO] Building MyEasyjweb Initial Application
[INFO] task-segment: [eclipse:eclipse]
[INFO] ----------------------------------------------------------------------------
[INFO] Preparing eclipse:eclipse
[INFO] [antrun:run {execution: copy-sources}]
[INFO] Executing tasks
[INFO] Executed tasks
[INFO] [eclipse:eclipse]
[INFO] Using source status cache: Z:\usr\local\workspace\mynewapp\target\mvn-eclipse-cache.properties
[INFO] Wrote settings to Z:\usr\local\workspace\mynewapp\.settings\org.eclipse.jdt.core.prefs
[INFO] Wrote Eclipse project for "my-easyjweb-initial-test" to Z:\usr\local\workspace\mynewapp.
[INFO]
Sources for some artifacts are not available.
Please run the same goal with the -DdownloadSources=true parameter in order to check remote repositories for sources.
List of artifacts without a source archive:
o javax.transaction:jta:1.0.1B
o aspectj:aspectjrt:1.5.3
o org.hibernate:hibernate-annotations:3.2.1.ga
o org.mortbay.jetty:servlet-api-2.5:6.1.4
o com.google.code.guice:guice:1.0
o net.sf.ehcache:ehcache:1.2.3
o org.apache.derby:derby:10.2.2.0
o jboss:jboss-archive-browsing:5.0.0alpha-200607201-119
o org.apache.derby:derbynet:10.2.2.0
o ant:ant:1.6.5
o com.easyjf.dbo:easydbo:0.9.1
o commons-lang.commons-logging:commons-logging:1.1
o jboss:javassist:3.3.ga
o org.hibernate:hibernate-entitymanager:3.2.1.ga
o org.mortbay.jetty:jetty:6.1.4
o commons-logging:commons-logging:1.0.4
o log4j:log4j:1.2.14
o org.mortbay.jetty:jetty-util:6.1.4
o asm:asm:1.5.3
o com.easyjf.easyjweb:easyjweb-core:1.0
o asm:asm-attrs:1.5.3
o junit:junit:4.1
o commons-fileupload:commons-fileupload:1.0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9 seconds
[INFO] Finished at: Tue Nov 27 11:04:01 GMT+08:00 2007
[INFO] Final Memory: 6M/12M
[INFO] ------------------------------------------------------------------------
Z:\usr\local\workspace\mynewapp>

成功生成了eclipse所需的项目配置文件

3.3 新建一个Product的Action
建立Z:\usr\local\workspace\mynewapp\src\main\java\com\easyjweb\action\ProductAction.
因为放在默认的com.easyjweb.action包下面可以不用配置就能直接运行。
内容如下:
package com.easyjweb.action;
import com.easyjf.web.Module;
import com.easyjf.web.Page;
import com.easyjf.web.WebForm;
public class ProductAction extends com.easyjf.web.core.AbstractCmdAction {
public Page doInit(WebForm form, Module module) {
return doIndex(form);
}
public Page doIndex(WebForm form) {
form.addResult("productName", "IBM T60");
form.addResult("price", "1.9 W");
return new Page("/product/index.html");
}
}

建立
Z:\usr\local\workspace\mynewapp\src\main\webapp\WEB-INF\views\product\index.html
模板文件
内容如下:
我心爱的:$!{productName} ,花掉我$!{price}

运行mvn jetty:run

打开浏览器
http://localhost:82/product.ejf?easyJWebCommand=index
