100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 开源BI报表及OLAP多维分析平台OPENI(二)—搭建Eclipse下的Openi开发环境

开源BI报表及OLAP多维分析平台OPENI(二)—搭建Eclipse下的Openi开发环境

时间:2024-07-09 15:55:53

相关推荐

开源BI报表及OLAP多维分析平台OPENI(二)—搭建Eclipse下的Openi开发环境

接着上节的demo来看如何在Eclipse下搭建Openi的开发及调试环境.

一.下载openi-1.3.0-RELEASE-src

a.官方网站:或/index.html

b.下载源代码版本:/project/showfiles.php?group_id=142873

二.新建web project

在MyEclipse下新建web project:openi

1.openi-1.3.0-RELEASE-src\openi\src下的文件copy到上面新建的openisrc下.

2.openi-1.3.0-RELEASE\openi\openi.war,在tomcat解压后的文件夹下,将除WEB-INF之外的所有文件copy至刚才新建的项目

3.在MyEclipse下发布openi

4.当然,别忘了把openi-1.3.0-RELEASE\openi\openi-projects.war,openi-1.3.0-RELEASE\openi\mondrian.war拷贝到<tomcat_home>\webapps

5.查看,并设置断点进行调试

启动tomcat,http://localhost:8080/openi,应该可以访问了.用户密码如果没有修改的话,应该就是tomcat/tomcat,如果不对,请去<tomcat_home>\conf\tomcat-users.xml自己去找.

三、修改端口

该项目默认的端口是8080.而大多数tomcat可能设置成别的端口如8088等。在这里通过查看源代码,及在MyEclipse下面调试源代码,就可以发现,org.openi.project.ProjectFactory类中方法:getProject

publicstaticProjectgetProject(StringbaseDirName,StringprojectId)

throwsIOException{

//importanttogiveproperfeedbacktocaller

if(baseDirName==null){

thrownewIOException(

"Projectdirectorynameisnull.Thisshouldbethelocationforallprojects");

}

BeanStoragestorage=newBeanStorage();

StringprojectFilePath=newFile(baseDirName,

projectId+"/project.xml").getCanonicalPath();

logger.debug("Tryingtorestoreproject:"+projectFilePath);

ProjectretProject=null;

try{

retProject=(Project)storage.restoreBeanFromFile(projectFilePath);

}catch(Exceptione){

logger.debug("troublerestoringprojectfrom"+projectFilePath,e);

logger.debug("possiblyoldformat,tryingxslt");

}

if(retProject==null){

StringxsltPath=newFile(baseDirName).getParent()

+"/openi/WEB-INF/project/project.xsl";

logger.debug(

"transformingproject.xmlintonewformatusingtemplate"

+xsltPath);

try{

Stringbackup=backupOldFile(projectFilePath);

transformProjectToNewFormat(backup,projectFilePath,xsltPath);

//transformed,trytorestoreagain,thistimeifitdoesn'twork,throwIOException:

retProject=(Project)storage.restoreBeanFromFile(projectFilePath);

}catch(Exceptionex){

//logger.error(ex.getStackTrace());

thrownewIOException(

"Anerroroccuredwhiletransformingproject.xmlintonewformat\nrootcause:"

+ex.getMessage());

}

}

returnretProject;

}

从中可以看出project的datasource的来源.它来自文件:<tomcat_home>\webapps\openi-projects\foodmart\project.xml

在此文件中

<dataSourceMap>

<entry>

<string>mondrian</string>

<org.openi.analysis.Datasource>

<server>http://localhost:8080/mondrian/xmla</server>

<xmlaDatasource>MondrianFoodMart</xmlaDatasource>

<catalog>FoodMart</catalog>

</org.openi.analysis.Datasource>

</entry>

只需要把这里面的8080改成自己的端口就OK了。(当然,别忘了修改tomcat\confserver.xml中的端口了哦,呵呵).

请对openi或BI感兴趣的朋友多多支持,让俺认真研究研究,以便发更多的文件.下节写写对整个openi的设计.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。