`

使用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中的主要项:

xml 代码
  1. <dependency>  
  2.   
  3.    <groupId>turbine</groupId>  
  4.   
  5.    <artifactId>turbine</artifactId>  
  6.   
  7.    <version>2.3.1</version>  
  8.   
  9.    <type>jar</type>  
  10.   
  11.    <properties>  
  12.   
  13.      <war.bundle>true</war.bundle>  
  14.   
  15.    </properties>  
  16.   
  17. </dependency>  

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

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

         turbine\jars\  turbine   -2.3.1    .jar

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics