您的位置:首页 > 编程语言

关于修改JBoss Portal源代码时出现的相关问题和解决方式

2012-03-22 13:45 363 查看
近期由于中文的问题,要改写JBoss Portal的源代码,编译时非常麻烦,不仅依赖包众多,而且所依赖的包竟然有类冲突的情况。

下载包的方法也比较麻烦,首先是因为有些包从Maven上下载不到,我的解决方法是从http://grepcode.com/上找源文件,然后找相应的jar包(这个网站做的不错,对查看源代码有很大帮助),其次是不知道到底是依赖哪个版本,不同版本的jar包可能变化很大,这个问题的解决方法是参考运行时环境的jar包版本,如果找不到运行时环境的包就只有乱猜一个了,编译出错了再换




例如上述依赖包中,最后两项 jbosscache-core-3.2.7.GA.jar 和 jboss-cache-1.2.2.jar 中有多个 包名、类名都相同的类,例如org.jboss.cache.Modification 这个类在两个包里都有,而这两个包都是编译必须的。最后发现,通过Eclipse导入jar包后(我的开发环境是STS),编译时会优先在Classpath中找先导入的jar包。所以我尝试添加第一个jar包时单独编译一个依赖的文件,然后加入第二个jar包,单独编译另一些有依赖关系的类。(单独编译一个类的方法是在此类中写main函数并调用)很遗憾,失败了。


最后的解决方法是,把两个jar包都加导入到Classpath,对依赖后面一个jar包的冲突类(例如 org.jboss.cache.Modification)对源文件进行改写,使它不报错就行,这样所有的代码都能通过编译,然后只把需要修改的源代码对应的.class文件覆盖到源jar包中就OK了。


修改其他的源代码也可以用与此类似的方式进行~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐