默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 关于修改注册项目涉及UserRegisterDTO的打jar包疑问
Jack,我需要修改注册界面项目,由于用到UserRegisterDTO,而这个文件是打包在lib下的RainbowChatServer_dto.jar里的。
复制该文件的内容到新的类中,并相应修改com.x52im.rainbowchat.utils.IntentFactory.java
com.x52im.rainbowchat.network.http.HttpRestHelper文件内容,使之对应新的类文件。但仍不成功,通过gradlew compileDebugWithJavac检测报告如下:
注: D:\d\work\RainbowChat4a\floatmenu\src\main\java\com\noober\floatmenu\FloatMenu.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
D:\d\work\RainbowChat4a\app\src\main\java\com\x52im\rainbowchat\logic\register\RegisterSuccessActivity.java:30: 错误: 不兼容的类型: com.x52im.rainbowchat.logic.register.UserRegisterDTO无法转换为com.
x52im.rainbowchat.http.logic.dto.UserRegisterDTO
                u = com.x52im.rainbowchat.utils.IntentFactory.parseRegisterSuccessIntent(getIntent());

问题:1、将修改后的UserRegisterDTO重新打包进jar文件替换可行吗?
2、按理说绕过jar文件,直接使用新的.java类文件应该可行,之所以行不通是不是因为某个设置文件做了保护限制?
3、源码的注册项目过于简单,拿到后肯定要修改的。这项内容不该限制在lib中的.jar中啊


即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:RainbowChat
上一篇:[已回复] 请教RainbowChat server 做容灾和集群的部署方案下一篇:[已回复] 求助RainbowChat中我新增了自定义的接口后,调用出错的问题
推荐方案
评论 3
好了。出错原因在漏掉一个关联UserRegisterDTO的文件没修改。
不过还是建议这个文件做成活的java,不要class。
秀一下修改后的注册页面 [已回复] 关于修改注册项目涉及UserRegisterDTO的打jar包疑问_捕获1.PNG [已回复] 关于修改注册项目涉及UserRegisterDTO的打jar包疑问_捕获.PNG
事情你想复杂了,不存在任何锁文件什么的。

RainbowChat服务端跟Android端共用的这些JavaBean文件(就像UserRegisterDTO这样的DTO类),因为是相同的,所以没有必要复制源码而导致不一致的可能,所以都是从服务端打成jar成放到android端直接使用的

所以,你如果修改了这些共用的javabean类,重新打一下RainbowChatServer_dto.jar即可

至于如何打RainbowChatServer_dto.jar包,以及打进什么内容,你可以把.jar改成宽展名.zip,解压就能看到。或者你下载fatjar插件,RainbowChat服务端工程下的.fatjar配置文件名就是对应的.jar打包配置了,一键就能打包。 你用eclipse自带的打jar工具也是一样的,没有任何高深的地方。

一切都应该是简单的,一定别搞复杂!
引用:freeman 发表于 2018-09-07 02:52
好了。出错原因在漏掉一个关联UserRegisterDTO的文件没修改。
不过还是建议这个文件做成活的java,不要cla ...

做成活的java文件很容易,但那就存在andorid端和服务端共同存在相同的类,以后加、减字段,搞不好就漏掉而不一致了,不信你自已可以把源码复制过来,一样用,但你体验一下维护的烦心事呢
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部