以下是本文档的通用约定。
变量表示为 ${ some_variable },意思是Jetspeed或环境变量的一种设定,属性文件也可以在其中指明。
例如,${org.apache.jetspeed.server.home}既可以指属性文件里定义的属性, 也可以指build过程中某处定义的变量,或Jetspeed里另一个build文件中定义的变量。
Subversion (SVN) 是Jetspeed项目中用来管理源码文件的,与CVS非常相似。 对于不习惯使用命令行的Windows用户,我们推荐使用 TortoiseSVN ,它可以插入到你的Windows浏览器中。对于使用Eclipse IDE的用户,可以使用插件 Subclipse
我们不准备详细介绍Maven,那将超出了本文档的范围,然而,我们觉得 下面一些标准的maven术语还是很有必要知道
本文档中,你将看到
maven repository
。安装Maven时,.maven/目录将你的${USER_HOME)目录中创建。
在 .maven/ 下你将看到
repository
目录。当你运行build时,Maven把所有下载的和生成的jar、war文件都放在这个目录下。
事实上,会建立如下的目录结构:
${groupId}/${projectId}/jars/${projectId}-{$version}.jar
(用来放jar文件),
${groupId}/${projectId}/wars/${projectId}.war (用来放war文件)。${groupId},${projectId} 和
${version}变量将在本文当的后面讨论。
Jar 和 war文件也会在
/target
目录中创建。
你需要设置一些属性。
用jetspeed-2提供的maven插件来创建你自己的portal是非常容易的, 这个插件最好是在你用源码创建jetspeed时使用。实际上,jetspeed-2的 创建过程就是一个用户portal配置与安装的实例。
Jetspeed 2 maven-plugin 定义了大多数属性的默认值,但不是全部。 当你下载或验证jetspeed-2源码树的时候,你将看到其根文件夹中含有一 个project.properties文件,其中设置或重设了一些属性。
正像前文所说:不是所有属性都提供有默认值,你 必须 自己指定一部分,并且你也有可能很想重设其他部分。
在
${USER_HOME}/build.properties
文件中设置或重设build或maven-plugin属性。
Property属性 | Description描述 | Default value默认值 |
---|---|---|
org.apache.jetspeed.portal.home
|
这是一个文件夹,在这里maven-plugin将(重新)创建或
更新你定制的门户maven项目的配置
(with goal
j2:portal.conf.project
),这也是你对你将来的门户进行定制开发的地方
例子: /home/myportal/
|
无默认值 |
org.apache.jetspeed.portal.groupId
|
你的门户工程组的(maven)短名。
此值被用来做maven repository文件夹,工程的artifact文件(与门户的war文件相似) 就存储在这个文件夹内。 例子: myprojects
|
无默认值 |
org.apache.jetspeed.portal.artifactId
|
你的门户工程的(maven)短名。
此值被用来做门户war文件和web应用上下文的名字。 例子: myportal
|
无默认值 |
org.apache.jetspeed.portal.name
|
你的门户工程的(maven)全名。
此值被maven用来产生JavaDoc标题 例子: My Test Portal
|
无默认值 |
org.apache.jetspeed.portal.currentVersion
|
你的门户工程的当前版本。
此值被maven用来做产生的artifact的名字后缀。 例子: 1.0
|
无默认值 |
接下来的属性指定了一个
${org.apache.jetspeed.portal.home}
的子文件夹
属性 | 描述 | 默认值 |
---|---|---|
org.apache.jetspeed.portal.conf.dir
|
指定一个文件夹,在这个文件夹中,maven-plugin将产生和拷贝应用服务器
特定的配置文件作为tomcat应用上下文的描述符。
此文件夹和其内容由plugin目标 j2:portal.conf.tomcat
创建和更新。
|
target/portal-conf |
org.apache.jetspeed.portal.sql.dir
|
maven-plugin将在其中产生和拷贝门户与数据库服务器特定的DDL、DML
脚本的文件夹
此文件夹和其内容总是由plugin目标 j2:portal.conf.sql
(重新)建立。
|
target/portal-sql |
org.apache.jetspeed.portal.db.dir
|
maven-plugin在其中创建自带HSQLDB数据库的文件夹
此文件夹和其内容由plugin目标 j2:start.production.server
或
j2:start.test.server
建立或更新。
|
target/portal-db |
org.apache.jetspeed.portal.webapp.dir
|
maven-plugin将在其中拷贝标准jetspeed web应用资源的文件夹
此文件夹和其内容由plugin目标 j2:portal.copy.webapp
建立或更新。
|
target/${org.apache.jetspeed.portal.artifactId} |
org.apache.jetspeed.portal.target.dir
|
maven-plugin将在其中产生和拷贝门户配置文件的文件夹。
这些配置文件为门户和OJB存有来自于build/plugin属性的值。 此文件夹和其内容由plugin目标 j2:portal.conf.jetspeed
和目标
j2:portal.conf.ojb
建立或更新。
|
target/${org.apache.jetspeed.portal.artifactId} |
注意:当前maven-plugin仅支持 the Tomcat Server 5.0.x or 5.5.x
Property属性 | Description描述 | Default value默认值 |
---|---|---|
org.apache.jetspeed.server.home
|
Tomcat Server安装的根目录。
例子: ${CATALINA_HOME}/
.
|
无默认值 |
org.apache.jetspeed.server.shared
|
Tomcat安装中共享的jar文件的位置。
例子:
${org.apache.jetspeed.server.home}/shared/lib/
|
无默认值 |
org.apache.jetspeed.deploy.war.dir
|
Tomcat安装中web应用的位置。
例子:
${org.apache.jetspeed.server.home}/webapps/
|
无默认值 |
org.apache.jetspeed.services.autodeployment.user
|
Tomcat管理员用户
用于从门户内部访问Tomcat Manager application,下面解释。 |
无默认值 |
org.apache.jetspeed.services.autodeployment.password
|
上面所说的Tomcat用户的密码。
用于从门户内部访问Tomcat Manager application,下面解释。 |
无默认值 |
org.apache.jetspeed.catalina.version.major
|
你能使用的Tomcat Server的主要版本: 5 or 5.5
Example: 5.5
|
无默认值 |
Jetspeed-2 和 maven-plugin既使用也提供一个默认的HSQLDB数据库。
如果你要用另外的数据库,你需要重设下面的属性:
Property属性 | Description描述 | Default value默认值 |
---|---|---|
org.apache.jetspeed.production.database.default.name
|
你要使用的数据库的类型,Used for sql script generation with Torque
当前支持的数据库(with corresponding Torque target database name):
|
hsql |
org.apache.jetspeed.production.database.url
|
jdbc连接的 url | jdbc:hsqldb:hsql://127.0.0.1:9001 |
org.apache.jetspeed.production.database.user
|
连接数据库使用的数据库用户名 | sa |
org.apache.jetspeed.production.database.password
|
连接数据库使用的用户密码 | empty |
org.apache.jetspeed.production.database.driver
|
jdbc 驱动器的类名 | org.hsqldb.jdbcDriver |
org.apache.jetspeed.production.jdbc.drivers.path
|
jdbc驱动器的类路径,或者连接数据库需要的jar文件的路径。
Example例子:
/lib/ojdbc14.jar;/lib/nls_charset12.jar
|
empty |
确保你已经在
${USER_HOME}/build.properties
定义了上文所述必填属性。
使用默认的HSQLDB数据库的用户portal的最小配置如下所示:
# required portal configuration properties org.apache.jetspeed.portal.home = /home/myportal/ org.apache.jetspeed.portal.groupId = myprojects org.apache.jetspeed.portal.artifactId = myportal org.apache.jetspeed.portal.name = My Test Portal org.apache.jetspeed.portal.currentVersion = 1.0 # required application server properties org.apache.jetspeed.server.home = ${CATALINA_HOME}/ org.apache.jetspeed.server.shared = ${org.apache.jetspeed.server.home}/shared/lib/ org.apache.jetspeed.deploy.war.dir = ${org.apache.jetspeed.server.home}/webapps/ org.apache.jetspeed.services.autodeployment.user = j2deployer org.apache.jetspeed.services.autodeployment.password = xxxxx org.apache.jetspeed.catalina.version.major = 5.5
org.apache.jetspeed.portal.home
属性需要设置。
现在,我们将用Jetspeed 2 maven-plugin配置、安装和建立一个新的用户门户应用。
为了能够安装基于Jetspeed 2 的门户,maven远程repository查找需要在
${USER_HOME}/build.properties
中适当配置:
maven.repo.remote = http://www.bluesunrise.com/maven/, http://www.ibiblio.org/maven/, \ http://dist.codehaus.org/, http://cvs.apache.org/repository
第一次当你想要升级到Jetspeed 2 新的版本时,你需要如下安装maven-plugin:
maven -DartifactId=maven-jetspeed2-plugin -DgroupId=org.apache.portals.jetspeed-2 -Dversion=2.0-M4-SNAPSHOT plugin:download
一旦你已经安装好了maven-plugin,也已经如需设置好了属性, 那么你需要用plugin产生默认的门户配置,如下:
maven j2:portal.genapp
这一部分不做任何事。门户项目生产以后,你可以通过重设、合并你自己的配置 来调整、定制门户,以适应你的口味。
你可以直接使用上文描述的
j2:portal.genapp
目标(goal)或子目标来重新产生或更新你的(部分)门户工程。
一旦你的门户配置就绪了,你就可以用下面的标准maven goal 从你定制的门户工程目录中(${org.apache.jetspeed.portal.home}) 创建和安装你的门户应用到你本地的maven repository。
maven war:install
,!-- You are now ready to deploy the new portal application. For this, skip the following section on building the Jetspeed 2 portal from source and continue with the--> 现在你已经准备好部署新的门户应用了。如果这样,跳过接下来从源码 建立Jetspeed 2 门户的部分,继续 deployment部署 部分。
直接从源码建立Jetspeed 2 稍微有点容易,但是仅限于你不想创建新的,定制化的门户。
Jetspeed 2 源码中有
project.properties
文件,此文件提供所有必须的门户配置。
如上所述
。
你
不该
在你的
${USER_HOME}/build.properties
中定义任何属性。
相反,你
必须
设置一个
org.apache.jetspeed.project.home
属性,指明解压下载的源码或检验子版本的位置,如:
# required Jetspeed 2 portal configuration property for building from the source org.apache.jetspeed.project.home = /home/apache/jetspeed-2/
Jetspeed 2 中project.properties 用这个属性定义必须的
org.apache.portal.home
:
org.apache.jetspeed.portal.home = ${org.apache.jetspeed.project.home}
当你准备部署门户时(后面进一步介绍),
你将看到org.apache.jetspeed.portal.home
属性,
这个属性能转换Jetspeed 2 源码的根目录。
创建Jetspeed 2 时,如果你想运行测试的例子, 但是 不想使用默认的HSQLDB测试数据库,这时你需要重设测试数据库属性的默认值, 其设置 与上所述 相同:
org.apache.jetspeed.test.database.default.name
org.apache.jetspeed.test.database.url
org.apache.jetspeed.test.database.user
org.apache.jetspeed.test.database.password
org.apache.jetspeed.test.database.driver
org.apache.jetspeed.test.database.drivers.path
不用下载安装Jetspeed 2 maven-plugin,你可以从源码中直接创建它。 但是,每次你更新新版本或改变项目配置、plugin本身或plugin使用的源码时, 你需要重复这部分工作。
按以下步骤从Jetspeed 2 的根目录中创建和安装maven-plugin:
cd ${org.apache.jetspeed.project.home} maven initMavenPlugin
如果你要使用默认的HSQLDB数据库运行测试例子,你应该在创建Jetspeed 2 之前 在一个 单独的 控制台中启动测试数据库:
cd ${org.apache.jetspeed.project.home} maven j2:start.test.server
创建之后,你可以关闭数据库,并用
Ctrl-C
关闭控制台.
门户与portlet应用的demo完全在本地的maven repository建立之后,运行:
cd ${org.apache.jetspeed.project.home} maven allClean allBuild
如果你还想在创建期间运行测试例子,请运行:
cd ${org.apache.jetspeed.project.home} maven -Dmaven.test.skip=false allClean allBuild
You are now ready to deploy the Jetspeed 2 Portal. 现在你已经准备好部署Jetspeed 2 了。
If you are using the default HSQLDB database you need to start it before deploying the portal. 如果你使用默认的HSQLDB数据库,部署前请启动它。
To start the HSQLDB production database run the following in a 启动HSQLDB数据库,请在 separate单独的 console控制台,运行:
cd ${org.apache.jetspeed.portal.home} maven j2:start.production.server
部署以及运行应用服务器期间,数据库要开动着。之后,你可以
将其关闭,并用
Ctrl-C
关闭控制台.
Note: this is required when using the
注意:当使用
j2:quickStart
目标(如后所述)时,其是必须的。Jetspeed 2 maven-plugin
提供其他的(子)目标,你可以使用这些目标而不必创建产品数据库,
并且能插入门户的配置数据。请看
Plugin documentation文档
We currently only cover deploying to Tomcat 5 or Tomcat 5.5. 当前,我们仅仅涵盖Tomcat 5 or Tomcat 5.5 上的部署.
可以在Jetspeed 2 Wiki 上找到关于部署到其他应用服务器上的信息.
若要部署Jetspeed 2 门户(包括portlet应用程序的demo),在 separate单独的 console控制台中运行:
cd ${org.apache.jetspeed.portal.home} maven j2:quickStart