关于系统中找不到properties文件的错误

61 views
Skip to first unread message

lcc812

unread,
Mar 28, 2009, 1:56:53 AM3/28/09
to buffalo与Amowa
系统有很多java项目,彼此是关联的,其中A项目中放的都是项目引用的jar包,buffalo.1.2.3.jar就放在这个项目里,B项目是一个
web项目,存放

java文件和jsp文件。我将properties配置文件放到了B项目根目录下,系统启动。系统采用的服务是websphere5.1。
1、启动项目时候,在控制台提示:
bfapp:init
net.buffalo.web.servlet.ApplicationServlet
initialize the service repository
net.buffalo.service.DefaultServiceRepository
FoundSpring,load services from spring finished
2、启动服务后,进入相关模块页面错误提示:
net.buffalo.service.NosuchServiceException:abc
3、后来我将buffalo.1.2.3.jarb包解开,按包放到了B项目下,此时启动服务,控制台提示:
bfapp:init
initialize the service repository
提示找到了buffalo-service.properties里面配置的abc这个类
FoundSpring,load services from spring finished

配置如下:
buffalo-service.properties文件里定义了abc=com.cc.DisplayMethod,这是个类,定义了各种操作。
其他各配置证明无误。
系统用的是struts1,并且在一个小模块用到了spring,很少一部分。

因为系统是早就做好的,以前此功能可以用,也就是说可以找到buffalo-service.properties的配置文件
为何现在就不行了,系统作过其他的修改,但是没有修改过这部分。

Michael Chen

unread,
Mar 28, 2009, 10:29:43 AM3/28/09
to am...@googlegroups.com
用的是什么app server?

两个项目是分开不同的webapp吗?

如果是的,看起来是应用服务器classloader坏掉了...否则不应该出现这种情况的。

2009/3/28 lcc812 <liuy...@gmail.com>



--
Michael Chen
--------------------------------
Blog: http://michael.nona.name
MSN: jzch...@hotmail.com

lcc812

unread,
Mar 28, 2009, 10:43:16 AM3/28/09
to buffalo与Amowa
系统用的wsad开发的,服务器用的是webshpere5.1
一个管理系统,有多个项目构成,其中jar包全部放到一个项目下,另一个项目就是web项目了,放着struts1的form,action,和
properties问件。
如果将buffalo.jar反编译后以java文件的形式,以原有包结构放到web项目里,那么可以找到properties文件的,但是打成jar
包后就找不到了。
以前的时候是可以使用的,不知道现在为什么不行了。
如果按您所说是服务器的classloader坏掉了,那为什么包解开后就可以找到properties呢,另外如果是classloader坏掉了,
怎么修改呢。
非常感谢您的回复,谢谢您

On 3月28日, 下午10时29分, Michael Chen <mechil...@gmail.com> wrote:
> 用的是什么app server?
>
> 两个项目是分开不同的webapp吗?
>
> 如果是的,看起来是应用服务器classloader坏掉了...否则不应该出现这种情况的。
>

> 2009/3/28 lcc812 <liuyq...@gmail.com>

> MSN: jzche...@hotmail.com- 隐藏被引用文字 -
>
> - 显示引用的文字 -

bellone.wu

unread,
Mar 29, 2009, 4:44:34 AM3/29/09
to amowa
看一下源程序里是这样子读取配置文件的.
this.serviceConfigProperties = DEFAULT_SERVICES = "/buffalo-service.properties";
InputStream is = this.getClass().getResourceAsStream(this.serviceConfigProperties);
 
getClass.getResourceAsStream("/buffalo-service.properties"); 是读取ClassPath的根的properties文件,注意ClassPath如果是多个路径或者jar文件的,只要在任意一个路径目录下或者jar文件里的根下都可以,如果存在于多个路径下的话,按照ClassPath中的先后顺序,使用先找到的,其余忽略.
 
楼主,看看你的文件放置的位置是否有错误呢????????????????
 

bellone.wu
2009-03-29

发件人: lcc812
发送时间: 2009-03-28 22:43:21
收件人: buffalo与Amowa
抄送:
主题: Re: 关于系统中找不到properties文件的错误
 
系统用的wsad开发的,服务器用的是webshpere5.1
一个管理系统,有多个项目构成,其中jar包全部放到一个项目下,另一个项目就是web项目了,放着struts1的form,action,和
properties问件。
如果将buffalo.jar反编译后以java文件的形式,以原有包结构放到web项目里,那么可以找到properties文件的,但是打成jar
包后就找不到了。
以前的时候是可以使用的,不知道现在为什么不行了。
如果按您所说是服务器的classloader坏掉了,那为什么包解开后就可以找到properties呢,另外如果是classloader坏掉了,
怎么修改呢。
非常感谢您的回复,谢谢您
On 3月28日, 下午10时29分, Michael Chen <mechil...@gmail.com> wrote:
> 用的是什么app server?
>
> 两个项目是分开不同的webapp吗?
>
> 如果是的,看起来是应用服务器classloader坏掉了...否则不应该出现这种情况的。
>
> 2009/3/28 lcc812 <liuyq...@gmail.com>
> MSN: jzche...@hotmail.com- 隐藏被引用文字 -
>
> - 显示引用的文字 -

lcc812

unread,
Mar 30, 2009, 7:21:10 AM3/30/09
to buffalo与Amowa

不太明白您的意思,我的properties文件确实按照要求放到了项目的根目录下了,并且在class里面也有,您的意思我不太明白。web项目下有
两个文件夹,一个放的是java程序,一个放的是jsp页面,我将配置文件分别放到web项目根目录下和java程序包的根目录下都无法找到
properties文件。烦请您帮忙。

On 3月29日, 下午4时44分, "bellone.wu" <bellone...@gmail.com> wrote:
> 看一下源程序里是这样子读取配置文件的.
> this.serviceConfigProperties = DEFAULT_SERVICES = "/buffalo-service.properties";
> InputStream is = this.getClass().getResourceAsStream(this.serviceConfigProperties);
>
> getClass.getResourceAsStream("/buffalo-service.properties"); 是读取ClassPath的根的properties文件,注意ClassPath如果是多个路径或者jar文件的,只要在任意一个路径目录下或者jar文件里-的根下都可以,如果存在于多个路径下的话,按照ClassPath中的先后顺序,使用先找到的,其余忽略.
>
> 楼主,看看你的文件放置的位置是否有错误呢????????????????
>
> bellone.wu
> 2009-03-29
> > - 显示引用的文字 -- 隐藏被引用文字 -
>
> - 显示引用的文字 -

Michael Chen

unread,
Mar 30, 2009, 7:44:22 AM3/30/09
to am...@googlegroups.com
嗯,请尝试将buffalo-service.properties放在WEB-INF/classes下面。有可能是IDE工具没有将这个文件compile到那里去。

2009/3/30 lcc812 <liuy...@gmail.com>
MSN: jzch...@hotmail.com

lcc812

unread,
Mar 31, 2009, 10:53:57 AM3/31/09
to buffalo与Amowa
其实WEB-INF/classes下一直就有这个配置文件,结果依然是无法读取到的。

On 3月30日, 下午7时44分, Michael Chen <mechil...@gmail.com> wrote:
> 嗯,请尝试将buffalo-service.properties放在WEB-INF/classes下面。有可能是IDE工具没有将这个文件compile-到那里去。
>
> 2009/3/30 lcc812 <liuyq...@gmail.com>


>
>
>
>
>
>
>
> > 不太明白您的意思,我的properties文件确实按照要求放到了项目的根目录下了,并且在class里面也有,您的意思我不太明白。web项目下有
> > 两个文件夹,一个放的是java程序,一个放的是jsp页面,我将配置文件分别放到web项目根目录下和java程序包的根目录下都无法找到
> > properties文件。烦请您帮忙。
> > On 3月29日, 下午4时44分, "bellone.wu" <bellone...@gmail.com> wrote:
> > > 看一下源程序里是这样子读取配置文件的.
> > > this.serviceConfigProperties = DEFAULT_SERVICES =
> > "/buffalo-service.properties";
> > > InputStream is =
> > this.getClass().getResourceAsStream(this.serviceConfigProperties);
>
> > > getClass.getResourceAsStream("/buffalo-service.properties");

> > 是读取ClassPath的根的properties文件,注意ClassPath如果是多个路径或者jar文件的,只要在任意一个路径目录下或者jar文件里--的根下都可以,如果存在于多个路径下的话,按照ClassPath中的先后顺序,使用先找到的,其余忽略.

Bellone

unread,
Apr 7, 2009, 2:33:25 AM4/7/09
to am...@googlegroups.com
楼主:
 
1.你直接写个用java直接读取properties文件,看看是否可以读到buffalo-service.properties
2.直接下个buffalo的demo.war包放在webshare里,测试.
 
网上也有个报称读不取配置文件,不知是不是在与spring结合时出现了这种问题.
 
不过建议你用buffalo2.0,我在用了过程中,在速度上提高了不少,而且最关键的一个是解决多个下拉表单数据被覆盖的问题. 还有一个就是在脚本的同一个方法里可以顺序的执行.

2009/3/31 lcc812 <liuy...@gmail.com>



--
            致
礼!
                     
                           吴立铃
                     bello...@gmail.com
Reply all
Reply to author
Forward
0 new messages