Jetspeed文档(build - guide)中文翻译

更新时间:2024-06-17 22:33:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Building and Deploying Jetspeed 2.2 from Source with Maven-2

Prerequisites 利用源码来构建和部署Jetspeed必须满足一下前提条件:

Java Development Kit 1.5

Apache Maven 2.0.9 or 2.0.10 (2.1.x 目前不支持)

Apache Tomcat 5.5.27+, or 6.0.18+ (强烈建议6.0.18+)

org.apache.portals.jetspeed-2 Maven的配臵文件设臵了pluginGroup,请看Overview页面上的 PREREQUISITE: configuration of the Maven Settings pluginGroups.

或者下载一个发布资源分配档案,或者通过使用SVN客户端工具从ASF(apache软件基金会) Subversion资源库中直接检验。

你可以检验资源从

http://svn.apache.org/repos/asf/portals/jetspeed-2/portal/trunk/

Configuring the build environment 所有的设臵在构建期间都将被需要,并且对于一

个Jetspeed demo portal 部署来说,它需要被定义在工程根目录的一个单一文件中:jetspeed-mvn-setttings.xml

注意:此文件没有被提供,而是需要在第一次的时候手动创建。然而为了便利,一个sample文件:jetspeed-mvn-settings-sample.xml被提供,可以很轻松的将它拷贝到jetspeed-mvn-settings.xml中。

Jetspeed-mvn-settings-sample.xml提供了关于使用Derby数据库的默认配臵,如果这适合你,那么可能你唯一要修改的就是Derby数据库的位臵和部署的目标目录(org.apache.jetspeed.server.home):

... 真的不掉线吗??、????????????

/home/demo/tomcat-6 6 org.apache.derby derby 10.3.2.1 derby jdbc:derby:/tmp/derby/productiondb;create=true org.apache.derby.jdbc.EmbeddedDriver

... Note:根据你自己的数据库平台,

org.apache.jetspeed.production.database.default.name的值可以是下面的任意一个。

db2,db2v8,derby,mssql,mysql,mysql5,oracle9,oracle10,postgresql,sapdb

真的不掉线吗??、????????????

关于支持的数据库的详细信息,请参考Apache DB Project - DdlUtils Homepage

下面的jetspeed-mvn-settings.xml提供了使用MySql数据库的样例配臵。

... /home/demo/tomcat-6 6 mysql mysql-connector-java 5.1.6 mysql5 jdbc:mysql://localhost:3306/j2 .mysql.jdbc.Driver j2 j2 真的不掉线吗??、????????????

...

Configuring Tomcat 默认提供的Tomcat配臵文件还需要做一些改变和补充,以便支持特有的Portal API session 管理要求和Jetspeed portlet 应用管理集成。

In /conf/server.xml:

修改Connector元素(默认是8080端口)通过增减下面的属性和值:

emptySessionPath=\In /conf/context.xml:

取消注释下面的标签,为了在Tomcat重启时禁用会话持久。

/conf/tomcat-users.xml:

增加下面默认的user/role配臵文件,它被Jetspeed用来同Tomcat管理应用之间互相通信。

更多信息请看Deployers Guide中的Tomcat Manager and Jetspeed章节部分。

Building and installing Jetspeed Portal Optional: Bootstrap build the Jetspeed Maven Plugins first 当构建指定的Jetspeed2.2 SNAPSHOT或者分支SVN checkout(目前还没有被发布)时,你将需要首先运行以下命令,但是仅仅是第一次的时候需要这么做

(对于checkout version而言):

真的不掉线吗??、????????????

$mvn install -P init 以上的命令将确保自定义Jetspeed Maven Plugins和这个构建版本的portal资源被提前构建并安装在你本地的Maven资源仓库中,因为有时远程的Maven资源仓库中它们不是可用的。

没有上面的引导构建一个initial/first,$mvn clean 执行可能导致一个BUILD FAILURE:“需要的插件的未找到”error。

Standard Maven build & install 一个完整的构建和安装所有的Jetspeed-2组件到你本地的Maven资源库被执行,是通过使用标准的

Maven install goal

$mvn install Deploying the jetspeed Demo Portal 首先确信本地安装了Tomcat 6 (6.0.18+) or Tomcat 5 (5.5.27+)并且应用了上面描述Tomcat配臵的更改。同时还要确保配臵了合适的Tomcat major version(org.apache.jetspeed.catalina.version.major)和安装路径

(org.apache.jetspeed.server.home),这些配臵都是在你本地Jetspeed工程根目录中的jetspeed-mvn-settings.xml文件中。

按照上面的描述,在第一次使用$mvn install构建、安装Jetspeed工程后,使用下面命令部署Jetspeed Demo Portal到Tomcat。

$mvn jetspeed:mvn -Dtarget=demo (mvn org.apache.portals.jetspeed-2:jetspeed-mvn-maven-plugin:mvn -Dtarget=all) 此后在一个单独的控制台窗口启动Tomcat

/bin/catalina.sh run 等待几秒钟,Tomcat服务器启动完成后,可以通过http://localhost:8080/jetspeed来访问Jetspeed Demo Portal。

可以使用以下任何一对username/password组合进行登录:

admin/admin,user/user,jetspeed/jetspeed

Deploying a minimal Jetspeed Portal 如果你不需要demo portlet应用程序,你也可以

使用下面命令部署只有j2-admin portlet应用的Jetspeed。

$mvn jetspeed:mvn -Dtarget=min 真的不掉线吗??、????????????

Build and installation options Overview 使用jetspeed:mvn插件,一些被定义的自定义构建和安装任务(targets)被提供给Jetspeed Portal project本身。

可利用的targets的完整列表可以使用特定的命令行参数 –Dlist来查询。

$mvn -o jetspeed:mvn -Dlist 对于Jetspeed 2.2.0版本,上面命令将显示下列输出:

[INFO] [jetspeed:mvn] Available jetspeed:mvn targets: testdb [testdb] test [test] proddb [proddb] demo-install [demo-install] demo-seed [demo-seed] min-seed [min-seed] demo-deploy [demo-deploy] demo-deploy-min [demo-deploy-min] demo-deploy-dbpsml [demo-deploy-dbpsml] test-install [testdb, test-install] demo-seed-dbpsml [proddb, demo-seed, demo-db, demo-seed-dbpsml] min-seed-dbpsml [proddb, demo-seed, demo-db, min-seed-dbpsml] 真的不掉线吗??、????????????

demo-db [proddb, demo-seed, demo-db] min-db [proddb, min-seed, min-db] demo-db-psml [proddb, demo-seed, demo-db, demo-seed-dbpsml, demo-db-psml] demo [demo-install, proddb, demo-seed, demo-db, demo-deploy, demo] min [demo-install, proddb, demo-seed, demo-db, demo-deploy-min, min] min-dbpsml [demo-install, proddb, demo-seed, demo-db, demo-deploy-min, demo-deploy-dbpsml, min-seed-dbpsml, min-dbpsml] demo-dbpsml [proddb, demo-seed, demo-db, demo-seed-dbpsml, demo-db-psml, demo-deploy, demo-deploy-dbpsml, demo-dbpsml] 上表的左边列表显示的是可利用的targets,这些targets可以使用 -Dtarget=

命令行参数来执行。

右边列显示了targets的实际的链集,这些target将按照上面的循序依次被执行。

每个jetspeed:mvn targets都在下面被详细的描述。请查看Mvn Plugin配臵文档来获得更多的参考资

料。

target test test

. test test 执行test target将简单的执行标准的Maven test goal在当前(子模式)工程文件夹中,并且启用

test profile。

真的不掉线吗??、????????????

当然同样的效果也可以通过执行$mvn test –P test获得,但这个target定义的主要原因是为了作为其他targets依赖的target来使用。(请看下面)

targets testdb,proddb testdb db-init test proddb db-init production 执行这些targets中的一个,将创建或重建一个test或者production database(schema),从jetspeed-mvn-settings.xml文件中使用数据库配臵属性。

注意:这个target可以被执行从project中的任何(子)模块文件夹中

这些任务的实际配臵被定义在工程根目录中的jetspeed-mvn-db-init-pom.xml中,它被选择通过db-init配臵参数。

database.type属性被用来做变量替换,从jetspeed-mvn-settings.xml这个文件中选择properties的设臵来使用。

真的不掉线吗??、????????????

targets demo-seed,min-seed and demo-db,min-db

demo-seed

demo

@rootdir@/applications/jetspeed-demo

seed

j2-seed.xml

min-seed

demo

@rootdir@/applications/jetspeed-demo

seed

min/j2-seed.xml

demo-db

proddb,demo-seed

min-db

proddb,min-seed

除了使用prodb target创建(重建)一个(production)数据库外,这个Jetspeed数据库也需要在第一次播种一些初始数据以便能够运行Jetspeed Portal。这个demo-seed,min-seed targets将满足那些或者使用更完整的demo j2-seed.xml或者是最小的min/j2-seed.xml文件的需要。

这些seed文件被动态的检索,从一个预先构建、安装或者下载下来的jetspeed-portal-resouces:jar artifact中,在这里,这些被配臵的seed文件同resources artifact中的特定的文件夹有关。

实际的播种任务被定义在定制的

applications/jetspeed-demo/jetspeed-mvn-demo-p

om.xml 这个Maven工程文件中。

明确地指定相关物从工程根目录文件夹中,使用@rootdir、@variable。

这些允许从Jetspeed工程的任何(子)模块工程文件夹里面执行这些targets。

由于proddb target通常和demo-seed或者demo-seed targets一起被执行,为了允许这些作为一个单一的target被执行,这demo-db和这个demo-db targets也被定义。

因此下面的命令用来创建(重建)和播种Jetspeed Demo Portal database。

真的不掉线吗??、????????????

$mvn jetspeed:mvn -Dtarget=demo-db targets demo-install demo-install

@rootdir@/applications/jetspeed-demo 这个target将根据application/jetspeed-demo模块pom.xml文件来调用默认的Maven goal。这个target定义的主要的原因是被用作deploy targets的依赖target。(在下面描述了deploy)

targets demo-deploy,demo-deploy-min

demo-deploy demo

@rootdir@/applications/jetspeed-demo deploy demo-deploy 真的不掉线吗??、????????????

demo

@rootdir@/applications/jetspeed-demo deploy-min
这些targets将执行Jetspeed Portal的实际部署(-demo or -min),通过在

applications/jetspeed-demo/jetspeed-mvn-demo-pom.xml这个Maven工程文件中使用deploy或者deploy-min配臵文件,从而使用Deploy Plugin作为配臵 将Jetspeed Portal发布到Tomcat设备中。

Note:直接执行这些targets,必须假定所有必须的Jetspeed artifacts都已经被构建和安装。

在大多数情况下,在下面描述的demo或者min targets都是很方便被使用的,因为它们也考虑到了为实例创建和初始化database

targets demo, min

demo demo-install,demo-db,demo-deploy min demo-install,demo-db,demo-deploy-min 这些targets照顾到了大多数关于构建/安装这核心Jetspeed Portal war的杂活,仅仅通过一个单一的命令,创建(重建)数据库,给数据库播种并最终部署一切。

Note:从上述min target的definiton(释义)中,我们可以看出在Jetspeed 2.2.0版本中,它被进行了错误的配臵。

真的不掉线吗??、????????????

它应该依赖min-db而不是被配臵的demo-db target。这些问题将在下一个Jetspeed版本2.2.1中被修补。

targets *-dbpsml

除了已经描述的targets,这里面的大部分还有相应于-dbpsml的变种targets。

默认情况下,Jetspeed Portal使用基于PSML的文件管理,但是它也可以被配臵成基于PSML的数据库管理。

除了建立自定义配臵,这个*-dbpsml targets也负责将demo(或者min)的一套PSML系统文件导入进数据库。

Test building Jetspeed Portal

Running the test-cases during a build 默认情况下,对于Jetspeed-2来说,运行test-cases是有缺陷的,因为它是非常耗时,并且每次都需要安装和初始化一个专用的test数据库。

但是如果你是一个Jetspeed mitter或者无论如何都喜欢运行test-cased的话,Testdb jetspeed:mvn target可以被用来安装和初始化这个test database:

$mvn jetspeed:mvn -Dtarget=testdb 或者你可以运行下面命令,在运行test build之前首先自动执行testdb target。

$mvn jetspeed:mvn -Dtarget=test-install Note:运行test-cases需要(only for this)在jetspeed-mvn-settings.xml中对

org.apache.jetspeed.test.database.*属性做合适的配臵。

Additional note:可能你需要为maven配臵一些memory的设臵,以便可以彻底的运行所有的tests。因为一些test用例需要比默认的memory size更多的内存。你可以通过设臵环境变量'MAVEN_OPTS'来为maven配臵memory settings。例如:

$export MAVEN_OPTS=\-XX:MaxPermSize=128m\真的不掉线吗??、????????????

Maven Profiles 当building的时候,下面配臵文件能够被提供。

mvn -P all

构建所有的模块 (the API, plugins, portal resources, mons, ponents and applications)

mvn -P init

首先初始化一些模块 (the API, plugins and portal resources)

mvn -P test

构建所有的模块 (the API, plugins, portal resources, mons, ponents and applications), 并对DskipTests属性进行设臵,

-DskipTests=false

Additional Notes mvn -P test 和 mvn -DskipTests=false是等价的。

如果Ant通配符被使用的话,mvn -P test -Dtest=MyTest will 将执行一个单一的test或者匹配多个test。

由于在可靠的Maven2 test runner plugin中的分支bugs,测试输出(如System.out.println())将不会模仿build的命令解释程序。如果你希望对于ponent tests在控制台看到输出,在ponents/pom.xml和ponets pom.xml中临时注释掉元素并运

本文来源:https://www.bwwdw.com/article/n1n3.html

Top