Pentaho技术白皮书中文版(一)----用Eclipse构建和调试Pentaho这篇文档的目的是教会开发人员如何开始进行Pentaho的开发。这篇文档解释了如何在Eclipse中设置一个开发环境,包括如何连接到PentahoSubversionrepository,检出Pentaho项目,使用一个'1stand-alone'1Java应用和EclipseJBossIDE来构建调试它们。这篇文档也解释了Pentahorepository结构和对于开发Pentaho来说,许多很重要的buildtargets。目标读者是软件开发人员。我们假设读者已经很熟悉Eclipse平台和Java开发。如果目的是将平台配置为一个J2EE应用,我们假设读者了解J2EE和应用服务器。我们此处就是使用JBoss应用服务器进行演示。虽然不是很重要,但如果读者有使用ApacheAnt的经验也会很有用处。如果你仔细阅读了这个指南中的说明,但仍没有解决你的问题,请到论坛寻找答案:设置你的环境以下是开始研究Pentaho,你需要使用的工具列表。推荐你现在就下载所有必需的包,这样你就可不间断的进行试用。1.一个JavaSDK:PentahoBIPlatform在JavaSDK1.4上构建和测试。注意你需要完整的SDK,而不仅仅是runtime(JRE)。2.Ant:基于Java的构建工具。3.Eclipse:平台IDE。4.Subclipse:一个Eclipse插件,其在EclipseIDE上添加了Subversion集成。5.JBossIDEforEclipse。为开始设置:1.下载和安装你的JavaSDK。2.下载和安装Ant。3.下载和安装Eclipse。4.下载和安装Subclipse。5.下载和安装JBossIDEforEclipse。以后章节是关于Pentaho团队使用的这些工具的版本说明,以及使环境适合于Pentaho平台codeline开发的技巧。每个工具在其各自的下载中有详细的安装指令,这里我们不详细介绍。JavaSDKPentahoBIPlatform在JavaSDK1.4上构建和测试。注意你需要完整的SDK,而不仅仅是runtime(JRE)。在后面几步中,你会看到为了使Ant构建脚本正确运行,你必须指定Java编译器可执行程序(javac)。这个可执行程序位于你安装的JavaSDK的/bin目录下,因此记住你将SDK安装到了哪里。AntAnt是一个基于Java的构建工具,我们将之用于构建平台,以及支持用Eclipse进行Pentaho进行开发中的活动。目前用于构建Pentaho的可下载的二进制的版本是Ant1.6.5。建议使用Ant工具从命令行构建一些PentahoAnttargets(在某些环境下是必要的)。EclipseIDE中自带了Ant的一个版本。这个版本被IDE用于构建功能,为了作为Eclipse的插件可能也进行了一些修改。为确定EclipseIDE中的ant版本,从Eclipse顶部的Window菜单浏览至Preferences...|Ant|Runtime,在插件的路径中检查其版本。EclipseIDE只是最近在设置你的Pentaho开发环境时,才需要有一个Eclipse,但与Pentaho的代码没啥关系。如果你想在JBoss应用服务器中运行和调试代码,你需要JBossIDE(参考下面),那里有一些兼容性问题(IDE的最新版本在Eclipse的最新版本上好像有些问题)。Pentaho团队使用的是以下版本,这些配置是没问题的:1.从JBoss网站下载带有最新JBossIDE插件的Eclipse–带有JBossIDEversion2.0.0beta2的EclipseIDE版本3.2.1.或2.从Eclipse网站下载Eclipse3.2.1M20060921-0945;然后从JBoss下载和安装JBossIDE插件版本2.0.0beta2。SubclipseSubclipse是Eclipse的一个插件,在Eclipse环境上激活Subversion功能。Subversion是大多数Pentaho项目使用的源代码控制库。Subclipse利用了EclipseUpdateManager,其允许你用一个URL进行注册,在EclipseIDE上自动获取和安装插件。和我们的配置兼容的Subclipse版本是Subclipse1.2.x。你可在Tigris.org网站找到详细的安装指令,或按照以下简短的指令:在Eclipse中,选择菜单条Help|SoftwareUpdates|FindandInstall...1.在向导的第一步中,选中Searchfornewfeaturestoinstall,点击next按钮。2.在下一步中,点击按钮NewRemoteSite...。3.在弹出式窗口中,输入你选择的站点名,输入以下url:,点击OK按钮。4.在下一步中,你应该看到一个可从中选择的功能列表,选择适合于你的Eclipse版本的Subclipseplugin。5.允许插件安装完成。使用Subclipse的详细命令,请到EclipseHelp菜单,选择HelpContents,然后在内容表中浏览Subclipse树。JBossIDE如果你想在JBoss应用服务器中调试,那么你需要安装Eclipse的JBossIDE插件。如果你下载了打包的Eclipse\JBossIDE包,这样你就不需要安装JBossIDE插件–你已经有了。Eclipse的JBossIDE插件是一个工具,允许你一步步的调试在一个JBoss应用服务器中作为一个web应用的一部分运行的Java类。JBossIDE插件通常通过EclipseUpdateManager获取。然而,在这篇文档写作时,JBossIDE版本2.0.0beta2并没有安装命令,文档或到UpdateManager的链接。That'swhatwegetforusingadevelopmentbuild。这并不是一个问题,它很简单,我们会尽力描述。从此处获取JBoss插件:1.下载插件,JBossIDE-2.0.0.Beta2-ALL.zip(不是plugin\Eclipse包!)。2.将包解压进你的eclipse安装目录–不是zip文件中/eclipse开头的那个目录结构。3.启动\重启Eclipse。一旦你成功安装了JBossIDE插件,继续到下一节。在DebugginginJBossApplicationServer这个练习中,我们会介绍如何配置插件用于调试。02.探索PentahoRepositoryThispagelastchangedonNov30,2006bybhagan.PentahoBIPlatform代码位于Subversionrepository中的svn://source.pentaho.org/。如果你没有使用Subversion的经验,不要怕–这里有本在线电子书:项目是:lpentaho–主要的Pentaho源代码树lpentaho-cubedesigner–用于连接到关系数据源的,向导驱动的图形用户界面的源代码,定义了analyticaldimensions,确定了用于分析的measures或facts。lpentaho-data–默认sample数据库lpentaho-designstudio-用于构建和测试ActionSequencedocuments的图形eclipse环境的源代码。lpentaho-designstudioIDE–本质上是带有build文件的eclipse,其将安装pentahoaction-sequence-plugin和splashscreen。lpentaho-preconfiguredinstall-预配置的Jboss应用服务器的源代码。lpentaho-reportdesigner-创建JFreeReports的standalonedesigner的源代码。lpentaho-reportwizard-创建JFreeReports的standalone向导的源代码。lpentaho-solutions-samplesolutions。lpentaho-standalone-单独运行平台的Java应用的代码,没有一个J2EE应用服务器。我们一直致力于保持简单健全的项目结构和开发团队。下面会描述这篇文档中将要探讨的项目的描述:lpentaholpentaho-datalpentaho-solutionslpentaho-preconfiguredinstalllpentaho-standalone在这篇文档里,我们不会讨论Pentaho客户端工具:lpentaho-cubedesignerlpentaho-designstudiolpentaho-designstudioIDElpentaho-reportdesignerlpentaho-reportwizardpentaho项目pentaho项目有源代码,资源和PentahoBI平台的项目设置。在这个项目里,你可浏览平台代码和体系结构。目录/文件描述/pentaho源代码树的根目录。/cobertura包含库,用于确定单元测试应该覆盖代码中的多少百分比。/scripts包含用于构建PreconfiguredInstall时使用的startup脚本。/server服务器代码的Sourcetree。/third-party包含lib目录,包含编译和构建所需的所有第三方库。.classpath设置项目classpath的Eclipse文件。.project描述项目的Eclipse文件。build.xml用于Pentaho项目的Antbuild文件。default.properties用于构建Pentaho项目的属性,通过在相同的目录中,创建一个override.properties文件,并在其中增加你想覆盖的那些属性的方法来覆盖这个文件中的属性。deployment_build.propertiesdeployment_build.xml所用的属性文件。deployment_build.xmlBuild文件,其包含用于构建appserverspecificdeliverables的targets。它被build.xml使用,作为j2eedeployments的一部分。excludejars.generic文本文件,列出了那些不应该被包含在.war文件中的jars,其在build文件中用于tomcat-wartarget。excludejars.jboss文本文件,列出了那些不应该被包含在.war文件中的jars,其在build文件中jboss-wartarget。pentaho-data项目PentahoBIPlatform带有一套默认数据库(使用HypersonicSQL)来容纳几个功能组件和子系统所必需的repositories。为了使得平台的这些parts能运行,你需要这些repositories。这个数据存在于模块'pentaho-data'。Pentaho-data也包含数据库的启动和关闭脚本。目录/文件描述/pentaho-data数据库树的根目录。/hibernate包含用于HypersonicSQL的平台repository脚本。/quartz包含用于HypersonicSQL的Quartzscheduler脚本。/sampledata包含用于HypersonicSQL的sample数据脚本。/shark包含用于HypersonicSQL的Shark工作流脚本。start_hypersonic.batWindows平台的启动批处理文件,用于启动Win