tlde_ti 写道
我是觉得连依赖管理工具都不用的项目实在算不上 合格的 项目.
维护升级 隐患都非常多.
直接javac只能学习用,进一步说未来学习用也迟早要被 依赖管理自动编译 工具所替代。
这个你只是考虑了自己的一个web项目哦,如果是对外提供服务的lib呢?或者是进行二次开发。。。
这种情况恐怖的是你的jar已经存在很多客户端了。这个时候对常量值的修改将引入一个潜在的bug。。。
skzr.org 写道
tlde_ti 写道
skzr.org 写道
有个疑问,如果依赖关系:
A.jar <-- B.jar <-- C.jar
A: ConstantA.A_CODE=1
B: ConstantB.B_CODE=ConstantA.A_CODE
C: ConstantC.C_CODE=ConstantB.B_CODE
A改变了协议ConstantA.A_CODE=999
那是不是C就抓狂了......
这种情况下应该是B针对A的新版本jar包编译一个新的B,
然后C针对B 新的jar包编译一次.
毕竟这里B使用了A的新版本,应该使用新的A jar包编译一次才对.
这样情况下增量编译也不行了,要先clean才不会出问题。
确实存在这样的问题,如果做服务或者api需要非常小心的处理常量值。
- 提供常量时:接口定义的常量永远不要更改其值——无法绕过这个限制
- 提供常量时:类中定义的常量放在初始化块中初始化中进行初始化,而不是直接一个=完事——不会出现这个限制
- 使用常量时:外部的常量尽量不要再在内部定义另一个常量别名,如果非要定义采用第二条
来源 主题:再谈一个关于final的不一致编译的低级错误
分享到:
相关推荐
赠送jar包:mapstruct-1.3.1.Final.jar; 赠送原API文档:mapstruct-1.3.1.Final-javadoc.jar; 赠送源代码:mapstruct-1.3.1.Final-sources.jar; 赠送Maven依赖信息文件:mapstruct-1.3.1.Final.pom; 包含翻译后...
赠送jar包:mapstruct-1.3.1.Final.jar; 赠送原API文档:mapstruct-1.3.1.Final-javadoc.jar; 赠送源代码:mapstruct-1.3.1.Final-sources.jar; 赠送Maven依赖信息文件:mapstruct-1.3.1.Final.pom; 包含翻译后...
赠送jar包:jboss-logging-3.4.1.Final.jar; 赠送原API文档:jboss-logging-3.4.1.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.1.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.1.Final....
赠送jar包:mapstruct-1.1.0.Final.jar; 赠送原API文档:mapstruct-1.1.0.Final-javadoc.jar; 赠送源代码:mapstruct-1.1.0.Final-sources.jar; 赠送Maven依赖信息文件:mapstruct-1.1.0.Final.pom; 包含翻译后...
赠送jar包:netty-all-4.1.27.Final.jar; 赠送原API文档:netty-all-4.1.27.Final-javadoc.jar; 赠送源代码:netty-all-4.1.27.Final-sources.jar; 赠送Maven依赖信息文件:netty-all-4.1.27.Final.pom; 包含...
赠送jar包:jboss-logging-3.4.3.Final.jar; 赠送原API文档:jboss-logging-3.4.3.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.3.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.3.Final....
赠送jar包:jboss-logging-3.3.2.Final.jar; 赠送原API文档:jboss-logging-3.3.2.Final-javadoc.jar; 赠送源代码:jboss-logging-3.3.2.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.3.2.Final....
一款反编译jar包工具,无需安装,直接运行即可
赠送jar包:mapstruct-1.2.0.Final.jar; 赠送原API文档:mapstruct-1.2.0.Final-javadoc.jar; 赠送源代码:mapstruct-1.2.0.Final-sources.jar; 赠送Maven依赖信息文件:mapstruct-1.2.0.Final.pom; 包含翻译后...
赠送jar包:jboss-logging-3.4.2.Final.jar; 赠送原API文档:jboss-logging-3.4.2.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.2.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.2.Final....
赠送jar包:undertow-core-2.1.7.Final.jar; 赠送原API文档:undertow-core-2.1.7.Final-javadoc.jar; 赠送源代码:undertow-core-2.1.7.Final-sources.jar; 赠送Maven依赖信息文件:undertow-core-2.1.7.Final....
赠送jar包:netty-common-4.1.11.Final.jar; 赠送原API文档:netty-common-4.1.11.Final-javadoc.jar; 赠送源代码:netty-common-4.1.11.Final-sources.jar; 赠送Maven依赖信息文件:netty-common-4.1.11.Final....
赠送jar包:mapstruct-1.2.0.Final.jar; 赠送原API文档:mapstruct-1.2.0.Final-javadoc.jar; 赠送源代码:mapstruct-1.2.0.Final-sources.jar; 赠送Maven依赖信息文件:mapstruct-1.2.0.Final.pom; 包含翻译后...
赠送jar包:mapstruct-1.1.0.Final.jar; 赠送原API文档:mapstruct-1.1.0.Final-javadoc.jar; 赠送源代码:mapstruct-1.1.0.Final-sources.jar; 赠送Maven依赖信息文件:mapstruct-1.1.0.Final.pom; 包含翻译后...
赠送jar包:netty-resolver-4.1.24.Final.jar; 赠送原API文档:netty-resolver-4.1.24.Final-javadoc.jar; 赠送源代码:netty-resolver-4.1.24.Final-sources.jar; 赠送Maven依赖信息文件:netty-resolver-4.1.24...
hibernate-validator 5.3.5.Final jar包 ;desc:if you want validator your project
ClassFinal是一款java class文件安全加密工具,支持直接加密jar包或war包,无需修改任何项目代码,兼容spring-framework;可避免源码泄漏或字节码被反编译
编译原理final.zip
赠送jar包:validation-api-2.0.1.Final.jar; 赠送原API文档:validation-api-2.0.1.Final-javadoc.jar; 赠送源代码:validation-api-2.0.1.Final-sources.jar; 赠送Maven依赖信息文件:validation-api-2.0.1....
赠送jar包:netty-transport-4.1.27.Final.jar; 赠送原API文档:netty-transport-4.1.27.Final-javadoc.jar; 赠送源代码:netty-transport-4.1.27.Final-sources.jar; 赠送Maven依赖信息文件:netty-transport-...