« | October 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | |
|
公告 |
我近期在研究Maven、Turbine、EJB,如果有朋友想一起交流学习,请加我的MSN:moshco_zhu@hotmail.com!
你为什么来,你何必来,叫我怎么见你!
--《小城之春》 |
| 
|
本站首页 管理页面 写新日志 退出
[01 技术文档]Turbine 学习笔记 |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
初次体验Maven
1.首先要说明一点Maven1和Maven2有很大的不同,我这里说的Maven是指Maven1;
2.到这里[http://maven.apache.org/maven-1.x/start/download.html]去下载Maven1;我使用的是[Maven1.0.2];
3.安装很简单,只需要将下载的zip包解压缩到[d:\]就可以了;
4.配置系统环境变量。打开[我的电脑]->[属性]->[高级]->[环境变量]->[系统变量]->[新建]********************************************************************************************************************变量名:MAVEN_HOME变量值:d:\maven-1.0.2********************************************************************************************************************在Path变量中新加入一段:********************************************************************************************************************%MAVEN_HOME%\bin;********************************************************************************************************************
5.在使用Maven构建项目的时候,Maven首先会在本地电脑的[C:\Documents and Settings\moshco zhu\.maven\repository][这个目录是使用Maven的使用自动创建的]目录下查找项目根目录下的文件[project.xml]中定义的需求Jar包,比如项目文件[project.xml]中有这样一段:******************************************************************************************************************** <dependency> <groupId>turbine</groupId> <artifactId>turbine</artifactId> <version>2.3.2</version> <type>jar</type> <properties> <war.bundle>true</war.bundle> </properties> </dependency>********************************************************************************************************************表示项目需要下载turbine版本是:2.3.2的Jar包。而经常因为版权的问题无法下载,会报告出现如下类似的错误:********************************************************************************************************************Plugin cache will be regenerated???????? D:\maven-1.0\local\repository ???????????????? ??????????????¨???????????????????????????? commons-lang-2.1.jar????????Error retrieving artifact from [http://www.ibiblio.org/maven/commons-lang/jars/commons-lang-2.1.jar]: java.io.IOException: Unknown error downloading; status code was: 301???????????? commons-lang-2.1.jar ??????????§°?????????????????????? commons-net-1.4.0.jar????????Error retrieving artifact from [http://www.ibiblio.org/maven/commons-net/jars/commons-net-1.4.0.jar]: java.io.IOException: Unknown error downloading; status code was: 301???????????? commons-net-1.4.0.jar ??????????§°????????????????????????????????????±??????????????¨????????????????????
commons-lang-2.1.jarcommons-net-1.4.0.jar
Total time: 18 secondsFinished at: Thu Oct 11 17:05:54 CST 2007********************************************************************************************************************解决这个问题有两中方案:第一:直接通过浏览器下载文件[http://www.ibiblio.org/maven/commons-lang/jars/commons-lang-2.1.jar],并将下载的文件存放在[C:\Documents and Settings\moshco zhu\.maven\repository\commons-lang/jars/commons-lang-2.1.jar],注意对应关系是从url的[commons-lang/jars/commons-lang-2.1.jar]部分开始的。你也可以在其它地方下载该jar包,然后改名存放到这个位置。这一方案在需要下载的文件不多时还能凑合,如果需要下载大量Jar包就不是个好办法了;第二:解压缩文件[D:\maven-1.0\lib\maven.jar],修改其下的文件[defaults.properties],找到一行:********************************************************************************************************************maven.repo.remote = http://www.ibiblio.org/maven********************************************************************************************************************将它修改为:********************************************************************************************************************maven.repo.remote = http://apache.linuxforum.net/dist/java-repository,http://dist.codehaus.org, http://mirrors.sunsite.dk/maven/,http://public.planetmirror.com/pub/maven,http://www.ibiblio.org/maven********************************************************************************************************************注意上面内容"="后的部分是在同一行。将解压缩的文件再压缩到jar包中,这样问题就解决了!
为了解决重装系统后长期积累下载的Jar包库丢失的问题,可以修改本地Jar包库的位置:找到一行********************************************************************************************************************maven.home.local = ${user.home}/.maven********************************************************************************************************************将它修改为********************************************************************************************************************maven.home.local = ${maven.home}/local********************************************************************************************************************
Maven的提示语言在中文环境中可能出现乱码(就是?????),进入maven.jar,发现org\apache\maven\messages目录下的messages_zh_CN.properties里面直接写了中文字符。删掉它!就不会乱码了。或者用native2ascii转换[native2ascii messages_zh_CN.properties new.properties]
6.体验正式开始:
创建一个空目录[epd3],在DOS下输入命令:********************************************************************************************************************maven genapp********************************************************************************************************************
接下来照如下输入********************************************************************************************************************Enter a project template to use: [default]webPlease specify an id for your application: [app]websamplePlease specify a name for your application: [Example Application]
Please specify the package for your application: [example.web]com.mh********************************************************************************************************************
添加Eclipse支持,执行命令********************************************************************************************************************maven eclipse********************************************************************************************************************这样就可以直接使用Eclipse导入该项目[文件->导入->现有项目到工作控件中],导入以后Eclipse会报错,主要原因是Eclipse中没有定义类路径变量[MAVEN_REPO],在Eclipse的[窗口-首选项-Java-构建路径-类路径变量-新建][MAVEN_REPO]指向[D:/maven-1.0/local/repository],这样问题解决!
7.一些指令如果想要查看配置文件中所有的goals,输入:********************************************************************************************************************maven -g********************************************************************************************************************
想看所有可用的Maven选项,输入:********************************************************************************************************************maven -h********************************************************************************************************************
想使用UI控制台:********************************************************************************************************************maven wizard:ui********************************************************************************************************************[Ctrl+Z],回车,结束UI控制台运行。
使用[maven]创建的项目,运行下面的命令********************************************************************************************************************maven site:generate********************************************************************************************************************Maven会依据配置好的POM文件(project.xml)为您项目生成相应的站点。如果是第一次运行,还可以看到Maven会到中央构建资源库或网上下载必须的.jars包。运行这个goal,Maven会为您编译源代码,拷贝conf目录里的资源文件到类文件classes的目录,生成Javadoc文档以及项目分析报告。可以看到,一个目标含有很多的功能!进入target目录,您可以看到site:generate goal生成的文件。target目录下的docs目录存放着Maven为您的项目产生的报告文档。
将所有的goals放在一个文本文件中********************************************************************************************************************maven -g > goals.txt********************************************************************************************************************
在Maven中运行Ant任务要整合Ant任务到Maven中,您需要创建名为maven.xml的文件并存放到project.xml文件的目录。在maven.xml文件中写入:************************************** 开始 **********************************************************************<project default="myGoal"> <goal name="myGoal"> <echo>Hello Maven!</echo> </goal></project>************************************** 结束 **********************************************************************保存maven.xml文件,在project.xml和maven.xml所在的目录中运行************************************** 开始 **********************************************************************maven************************************** 结束 **********************************************************************您可以看到以下输出:************************************** 开始 ********************************************************************** myGoal: [echo] Hello Maven! BUILD SUCCESSFUL Total time: 1 seconds************************************** 结束 **********************************************************************
如果您想定义在ibiblio.org的Maven构建资源库中没有的公司自己的项目相关性,您可以照下面定义************************************** 开始 **********************************************************************<dependency> <id>SomeJar</id> <jar>someJar1.2.jar</jar></dependency>************************************** 结束 **********************************************************************然后,您需要将somJar1.2.jar文件放到您自己的中央构建资源库目录中。该目录由project.properties文件中的maven.repo.local属性指定。默认为${maven.home.local}/repository或${user.home}/.maven/repository,其路径对应关系是资源库下的[SomeJar/jars/someJar1.2.jar]。
在project.xml文件中添加下列<reports>元素还可以自定义生成的报告文档************************************** 开始 **********************************************************************<reports> <report>maven-checkstyle-plugin</report> <report>maven-changelog-plugin</report> <report>maven-developer-activity-plugin</report> <report>maven-file-activity-plugin</report> <report>maven-javadoc-plugin</report> <report>maven-jdepend-plugin</report> <report>maven-junit-report-plugin</report> <report>maven-jxr-plugin</report> <report>maven-statcvs-plugin</report> <report>maven-simian-plugin</report></reports>************************************** 结束 **********************************************************************除了最后两个,其他都是默认配置的。maven-statcvs-plugin产生CVS统计报告,maven-simian-plugin可以识辨程序里重复的代码。一旦你自己定义了一个<reports>元素,将会覆盖掉所有默认文档配置。
************************************** 开始 **********************************************************************
************************************** 结束 **********************************************************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
使用Maven创建一个Turbine的应用
1.新建一个目录epd2,在目录下面创建文件build.properties;内容如下:********************************************************************************************************************maven.appserver.home=maven.appserver.home=D:/apache-tomcat-6.0.14 #这里是你的Tomcat的安装路径,这段注释文 #字不要在文件中出现,发布的时候会出错!********************************************************************************************************************
2.Dos状态下进入目录epd2,运行如下命令:********************************************************************************************************************maven -Dturbine.app.name=helloworld turbine:setup********************************************************************************************************************
3.这样会在epd2下创建一个项目目录helloworld,Dos状态下进入目录helloworld,运行命令********************************************************************************************************************maven turbine:deploy********************************************************************************************************************备注:打包命令是:maven turbine:war
4.在Tomcat的目录下的webapps目录下会多了一个应用helloworld,就是刚才我们的发布。
5.启动Tomcat,在浏览器中输入:http://localhost:8080/helloworld。
Turbine小小的体验
1.创建文件[helloworld/src/templates/navigations/header.vm],内容如下:********************************************************************************************************************<center><b>Header</b></center>********************************************************************************************************************
2.再创建一个文件[helloworld/src/templates/navigations/footer.vm],内容如下:********************************************************************************************************************© 2005 Leon********************************************************************************************************************
3.打开文件[helloworld\src\templates\layouts\Default.vm],修改内容如下:********************************************************************************************************************<html>#TurbineHtmlHead()<body #TurbineHtmlBodyAttributes() ><table> <tr> <td> $navigation.setTemplate( "header.vm" ) </td> </tr> <tr> <td> $screen_placeholder </td> </tr> <tr> <td> $navigation.setTemplate( "footer.vm" ) </td> </tr></table>
</body></html>********************************************************************************************************************
4.创建一个新的文件[helloworld\src\templates\screens\content1.vm],内容如下:********************************************************************************************************************<h1>Welcome to my content1</h1>This is content
<p></p><a href="$link.setPage( 'Index.vm' )">Index</a>********************************************************************************************************************
5.打开文件[helloworld\src\templates\screens\Index.vm],在最下端增加一行,内容如下:********************************************************************************************************************<p></p><a href="$link.setPage( 'content1.vm' )">Content 1</a>********************************************************************************************************************
6.从新发布,看一下效果:********************************************************************************************************************maven turbine:deploy********************************************************************************************************************
在Screen中使用自己的变量
1.新建一个Java源代码文件[helloworld\src\java\org\apache\turbine\app\helloworld\modules\screens\content2.java],内容如下:********************************************************************************************************************package org.apache.turbine.app.helloworld.modules.screens;
import org.apache.velocity.context.Context;import org.apache.turbine.modules.screens.VelocityScreen;import org.apache.turbine.util.RunData;
public class content2 extends VelocityScreen { public void doBuildTemplate( RunData data, Context context ) { try { context.put( "content_field", "some text" ); } catch( Exception e ) { return; } }}
********************************************************************************************************************注意:Java类的包名一定要与路径名称对应
2.创建一个文件[helloworld\src\templates\screens\content2.vm],内容如下:********************************************************************************************************************<h1>A field</h1>The contents of content_field is [$content_field] <br>
<p></p><a href="$link.setPage( 'Index.vm' )">Index</a>********************************************************************************************************************
3.打开文件[helloworld\src\templates\screens\Index.vm],再增加一行:********************************************************************************************************************<a href="$link.setPage( 'content2.vm' )">Content 2</a>********************************************************************************************************************
4.发布,看效果。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
阅读全文(2857) | 回复(0) | 编辑 | 精华 |
|