一个java类中的自定义String常量,为何在tomcat中,重启tomcat还依然存在之前的值而不会读取新的值? 20
自己的类,定义了多个Stringstaticfinal的常量值,当调试程序时,改变这些变量的值无效,仍然是之前的值。项目在tomcat中运行。尝试了几种方法,如清空tom...
自己的类,定义了多个String static final 的常量值,当调试程序时,改变这些变量的值无效,仍然是之前的值。项目在tomcat中运行。尝试了几种方法,如清空tomcat/work中的数据、重启tomcat、甚至删除该类的.class文件之后再重启tomcat,值依然都能被程序调用。web项目,struts2的action读常量值传给另一个action,上述方法都尝试后,都能传给第二个action,而且都是最初的值。但有些时候,可能修改值后长时间不调用这些值,再调用时又是新值。所以我怀疑是什么东西在缓存,但具体不知道怎么回事,还请高手解答!分不多了,有点对不住大虾们了!
看来我没说清楚,我不是说我在程序里修改常量值, 我还没傻到那地步,呵呵 ~~
我是说我把.java的值改了再翻译,运行程序取的还是我没改之前的。
但说不上什么时候,就突然变成新改的了,一般都是我比如20分钟没有运行任何程序什么的。 展开
看来我没说清楚,我不是说我在程序里修改常量值, 我还没傻到那地步,呵呵 ~~
我是说我把.java的值改了再翻译,运行程序取的还是我没改之前的。
但说不上什么时候,就突然变成新改的了,一般都是我比如20分钟没有运行任何程序什么的。 展开
展开全部
重新编译所有用到这些常量的类文件。然后再重新发布整个应用试试。
追问
重新发布了,tomcat也是先关,然后copy所有新class,再开tomcat还是一样
追答
可以尝试对用的类文件改动之后再重新编译试一下。可能是在重新编译的时候编译器发现文件没有改动并没有真正的重新编译。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义了多个String static final 的常量值,当调试程序时,改变这些变量的值无效 ===〉final类型的变量,不管怎么样都不可以修改的,已经是final了。。。
你debug尝试修改应该会报错才对阿
你debug尝试修改应该会报错才对阿
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额 finl的值只能初始化一次的,,亲,后来不管怎样调用在复赋值都是无效的哦 亲。汗,其实学java主要注重基础哦。祝你学习愉快
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
final就和定义常量一样了,你把final去掉试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
变量值 被关键字final 定义了就无法改变了 建议最好补习一下java SE的基础知识
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询