对于我来说,关于共享类的Java行为问题,我遇到了以下问题。
我正在使用的设置:
一个.jar库来处理日志。
一个Client-Jar,它依赖于logging-jar
一个Server-Jar,它依赖于客户端和日志记录。
服务器和客户端通过RMI进行通信 logging-jar只包含一个类,它包含一个静态的" java.util.logging.Logger" -object。
现在,仅限某些,当客户端启动时,它显然会访问服务器使用的日志对象!奇怪的是,这并不总是发生。例如,在我的IDE上,当我在调试模式下启动客户端和服务器时不会发生这种情况,但是当服务器在调试时运行并且客户端正常运行时,就会发生这种情况。这个问题似乎与某种方式使用RMI有关。
我完全不知道为什么会发生这种情况,最重要的是,为什么调试或不调试会产生这样的影响。
原因我知道访问同一个类:客户端访问它的那一刻,default-logfile会发生变化。所以,基本上,服务器以前正在进行定期登录" server.log",然后突然有一个" client.log" -file,然后使用用于服务器的标准日志记录。