eclilpse导入dorado项目运行失败

来源:互联网 发布:淘宝助理一键复制宝贝 编辑:程序博客网 时间:2024/05/29 15:50
工作中从svn检索下来一个dorado项目,在同事那里运行的好好的。在我本地报以下异常
dorado] Loading "setting.xml"...
java.io.FileNotFoundException: [setting.xml] not exists.
at com.bstek.dorado.common.fileloader.AutoFileLoader.getRealFileLoader


(AutoFileLoader.java:70)
at com.bstek.dorado.common.fileloader.AutoFileLoader.getInputStream


(AutoFileLoader.java:94)
setting.xml明明存在的啊,网上dorado的资料很少,没有搜到解决办法。
最后解决过程:
发现dorado.properties 配置文件的内容有问题。
sourceFileLoader=com.bstek.dorado.common.fileloader.AutoFileLoader
configFileLoader=com.bstek.dorado.common.fileloader.AutoFileLoader
sourceFileLoader.root=E\:/MyWorks/svn_work/NYX/src/main/java
configFileLoader.root=E\:/MyWorks/svn_work/NYX/src/main/resources/dorado




注意configFileLoader.root、和sourceFileLoader.root  两个配置指定的路径我本地是没有的。
1.直接修改两个配置 改成本地项目的绝对路径即可解决。(开发时使用,不用每次编译了)
2.我在其他架构相同的项目中发现改为以下也是可以的。(发布到服务器使用,例如weblogic)
configFileLoader=com.bstek.dorado.common.fileloader.ResourceFileLoader
sourceFileLoader=com.bstek.dorado.common.fileloader.ResourceFileLoader
configFileLoader.root=doradohome
sourceFileLoader.root=


解决是解决了,可是得有原因吧!
说明下。后来跟其他同事确认,可以肯定的是,最开始项目的配置是第二种(ResourceFileLoader),可是为


什么会变成(AutFileLoader),上网查询相关原因,无果,那自己动手解决.
解决过程:
1.配置莫名的变了?最有可能的原因是自动生成的.那删除dorado.properties的所有内容,经过一番实践,


无意间点了一下dorado开发工具的 start up sevices(dorado工具自带的一个启动项目的蓝色按钮),发现


里面的内容变成了第一种的情况(AutoFileLoader),并且configFileLoader.root、


sourceFileLoader.root也变成了我本地项目路径了,并且启动项目成功了,太有意思了
在网上分别搜索dorado以下两个类的解释也是无果,不死心.翻看”dorado5 用户指南“官方文档。
com.bstek.dorado.common.fileloader.AutoFileLoader
com.bstek.dorado.common.fileloader.ResourceFileLoader




稍后我会上传一些dorado的官方文档.到csdn,小弟文采不好,请多包涵。
dorado文档说明:
我们来说说dorado.properties
在每一个dorado web 工程中的都有一个dorado.properties配置文件,该文件位于${web-root-


dir}/web-inf目录中。基本信息如下:
dorado.properties
#Wed Mar 14 09:55:55 CST 2007
configFileLoader=com.bstek.dorado.common.fileloader.ResourceFileLoader
sourceFileLoader=com.bstek.dorado.common.fileloader.ResourceFileLoader
configFileLoader.root=doradohome
sourceFileLoader.root=
一般来说其中有四个配置选项,其中的XXXFileLoader用于设定资源加载器,dorado系统运行时需要加载和


读取一些资源信息,如:home文件夹下的系统配置文件,以及dorado jsp本身的View配置文件,而


XXXFileLoader.root则用于制定资源加载器读取资源信息的根目录, 资源加载器在该根目录下查找资源文


件。
配置选项 说明
configFileLoader 系统基本配置资源加载器
可选项有:
com.bstek.dorado.common.fileloader.ResourceFileLoader
com.bstek.dorado.common.fileloader.PathFileLoader
sourceFileLoader 视图模型配置加载器
可选项有:
com.bstek.dorado.common.fileloader.ResourceFileLoader
com.bstek.dorado.common.fileloader.PathFileLoader
com.bstek.dorado.common.fileloader.AutoFileLoader
configFileLoader.root 系统基本配置资源加载器读取资源的根目录
sourceFileLoader.root 视图模型配置加载器读取资源的根目录
xmlProcessorClassName 定义dorado内部使用的XML解析器
可选项有:
com.bstek.dorado.utils.xml.dom4j.Dom4jXmlProcessor 


com.bstek.dorado.utils.xml.jdom9.JDom9XmlProcessor 


com.bstek.dorado.utils.xml.jdom10.JDom10XmlProcessor
如不定义此项, 则系统将按默认的顺序依次搜索jdom9, jdom10, dom4j


16.1.3.1 ResourceFileLoader
在上文的build.xml文件中我们已经知道,home文件夹的资源通常会被打包到${web-classes-


dir}/doradohome目录下,因此dorado.properties中的configFileLoader.root配置选项一般都会设置为


doradohome, ResourceFileLoader采用的是系统默认的资源加载方式,系统默认根目录为${web-


classes-dir},因此configFileLoader.root配置设置为doradohome,而sourceFileLoader.root无需设置,


直接到${web-classes-dir}中查找视图模型的xml配置文件即可。
16.1.3.2 PathFileLoader 
值得注意的是,dorado studio在开发时通常利用PathFileLoader这种类型的资源加载器提高开发效率,这


是按照文件的方式直接读取相关资源,好处是修改资源信息后无需部署即可使用,一下的


dorado.properties就是在开发环境下的配置信息:
dorado.properties
#Wed Mar 14 09:03:34 CST 2007
configFileLoader=com.bstek.dorado.common.fileloader.PathFileLoader
sourceFileLoader=com.bstek.dorado.common.fileloader.PathFileLoader
configFileLoader.root=D\:/dorado5/sample/home
sourceFileLoader.root=D\:/dorado5/sample/src使用PathFileLoader的时候configFileLoader.root与


sourceFileLoader.root都会以绝对路径字符串形式配置,这种使用方式实际上也可以在服务器上部署,只


要将这两个root配置正确即可。
16.1.4 AutoFileLoader
AutoFileLoader会自动的用PathFileLoader机制查找匹配的资源,如果未找到则使用ResourceFileLoader


机制查找资源文件。使用这种方式在开发环境下尤其要注意PathFileLoader与ResourceFileLoader中重复


文件版本的差异,调试的时候要清除需要使用的文件的准确问题再确定是否使用AutoFileLoader。
16.1.5 关于XML Processor
dorado中xml的解析是通过一些成熟的xml解析器处理的,目前支持的有jdom9,jdom10,dom4j.由于web系统


中有很多的开源框架和成熟资源,通常我们在一个web系统中都会包含很多的jar文件,而部分的jar文件


也需要使用xml解析器,由于某些jar文件的资源提供者在开发的时候限于当前环境的制约,只能使用某种


特定的xml解析器才能正常工作,而不同的xml解析器并存时又可能会存在冲突,因此默认情况下dorado采


用自适应的方式依次搜索jdom9,jdom10和dom4j匹配xml解析器,对于可能存在的冲突,我们可以通过在


dorado.properties文件中添加xmlProcessorClassName属性配置,来强制指定一个xml解析器给dorado使


用。关于xmlProcessorClassName的配置选项参考dorado.properties说明.
0 0
原创粉丝点击