使用Maven构造Turbine项目

一 关于Maven

它是一个命令行构建工具.本身配置比较简单.主要是几个环境变量的设置

.

${Maven.home}/bin/下有个批处理文件maven.bat,其中:

@REM ----------------------------------------------------------------------------

@REM JAVA_HOME - 一个JDK的主目录.

@REM MAVEN_HOME - Maven安装主目录位置.

@REM 可选的环境变量

@REM MAVEN_HOME_LOCAL - 覆盖Maven工作所产生的文件的缺省路径

@REM MAVEN_BATCH_ECHO - 设为'on'使能批处理命令的反馈

@REM MAVEN_BATCH_PAUSE - 设为'on',在结束前等待一个键的按下.

@REM MAVEN_OPTS - Maven运行时要传给Java VM的参数.例如,在调试Maven本身时,使用 set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000

@REM ----------------------------------------------------------------------------

这个批提供了调用外部文件的设置:

if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"


if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"


为了修改一些配置和加入我们自己的配置项,我们使用mavenrc_pre.bat,其内容为:


MAVEN_HOME_LOCAL指向i:/maven_plugin,可以使Maven在构建项目时所下载的插件放在这个目录中,而不是缺省的%HOME%\.maven中了.


set MAVEN_HOME_LOCAL=i:/maven_plugin


set MAVEN_BATCH_ECHO=off


set MAVEN_BATCH_PAUSE=off


由于%HOME%是用户的主目录,不想把这两个批处理那里,而想和Maven放在一起,则修改上面%HOME%为"%MAVEN_HOME%:




if exist "%MAVEN_HOME%\mavenrc_pre.bat" call "%MAVEN_HOME%\mavenrc_pre.bat"


if exist "%MAVEN_HOME%\mavenrc_post.bat" call "%MAVEN_HOME%\mavenrc_post.bat"


此外,MAVEN_HOME_LOCAL还有其它的修改方式,那就是在build.properties中指定,其中的有关项为:


maven.home.local Maven用于写一些用户相关的细节所到的本机目录,例如,未打包的插件和缓存数据,缺省为${user.home}/.maven


maven.plugin.dir Maven能找到它自己的插件的地方,缺省为${maven.home}/plugins


maven.plugin.user.dir Maven只为特定用户查找的插件位置,缺省为${maven.home.local}/plugins


maven.plugin.unpacked.dir 处理用的为打包插件的位置,缺省为   ${maven.home.local}/cache


maven.repo.local 本机上的repository,Maven用来保存下载的制品,(jars etc),缺省为${maven.home.local}/repository


 


 


二 开始用Maven


   1 准备构建配置文件build.properties,其内容为:


   maven.appserver.home =D:/jakarta-tomcat-5.5.6


   turbine.app.name=your appname


#如果不想生成演示页面,则设为false


turbine.app.setup.demo=true


   2 运行maven turbine:setup,生成项目.也可以带有参数,


   maven -Dturbine.app.name=helloworld -Dmaven.appserver.home=D:/jakarta-tomcat-5.5.6 turbine:setup


   如果命令行中有这两个参数,则不需要第一步的工作,因为对于maven来说,这两个参数是必须要有的

其中:maven.appserver.home用于在发布应用时,把打包的部署文件发布到该项指定的目录中的容器环境.

   turbine.app.name则是你的项目名称.


   在运行了这个命令后,当前目录下会产生以你指定的your appname为名字的目录,在进入这个目录后,我们可以进行第三步了.


   3 运行maven turbine:deploy.


   它根据2步中生成的setup.properties,project.properties,project.xml来生成可供发布的制品.项目中使用到的库,都定义在project.xml,可以根据自己的项目需要裁剪这个文件. 经过裁剪后,运行这个任务产生发布.


   为了解决执行过程中出现的问题,先看看project.xml中的主要项:   


   <dependency>


      <groupId>turbine</groupId>


      <artifactId>turbine</artifactId>


      <version>2.3.1</version>


      <type>jar</type>


      <properties>


        <war.bundle>true</war.bundle>


      </properties>


   </dependency>


   dependency元素定义了项目中依赖的库,该库位于${maven.home.local}/repository:


   <groupId>\jars\<artifactId>-<version>.<type>


         turbine\jars\  turbine   -2.3.1    .jar


   上面展示了插件文件和元素dependency中子元素的对应关系


 


  如果无法下载所需插件,或自己下载,或使用本机上有的,然后可以按照这种方式创建一个符合项目要求的插件来供它使用.

相关文档
Posted on December 15, 2006 10:02 PM | | | Comments (0) | | TrackBacks (0)
文章评论(0)

发表评论

(如果您以前没有在这里发表过评论,您的评论需要由网站所有者的审核才会正常显示,谢谢您对我们的支持.)

相关内容