Felix整合SSH框架不联网无法启动Struts问题的解决思路

    前提,网上不少资料说的都是在非OSGI环境下,因此采用替换Struct.xml的dtd文件路径可以成功。但是在OSGI环境中,由于其特殊原因,这种方法是无效的(很可能是Classloader的原因,时间紧没有查到根。)。很多人建议说使用file协议,写绝对路径,这很显然也不符合实际,我们将来有Struct.xml文件的Bundle不少,难道部署到服务器上就必须要全部替换下吗?那岂不是很麻烦啊?

    其实我采用的方法也不先进,因为引入DTD方式有内部方式和外部方式。内部引用的方式实际上就是将DTD文件的定义和XML放在一起(具体的大家可以查和其相关的资料)。外部方式不连网不能用,我就将每个Bundle的每个Struts.xml文件都加上DTD定义我,问题解决了。

    这个解决办法的缺点是每个Bundle的Struts配置文件中都要加这段话,不过好在我们使用了Maven可以生成项目骨架,我们将其配置到Maven的骨架文件中,就OK了,这不是嘴好的解决办法,但是保持了程度的独立性。希望之后能找到更好的办法。姑且记下来,以防忘记。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值