在我的Java servlet中,我想动态获取文件/应用程序的最后更新时间,因此每次我对应用程序进行更改时,我都不必手动更新此信息,因此我使用了以下行获取信息:
String executionDir=myClass.getClass().getProtectionDomain().getCodeSource().getLocation().toString();
然后得到上面" executionDir"的时间戳,它在我的本地机器上工作正常,它显示了这个:最后更新:[2018-03-12 13:29]
我从我的Netbeans进行了测试,在一个案例中,我下载并安装在我的C:驱动器上的Tomcat 7然后将Netbeans指向它。第二种情况是Tomcat 8.5,它带有Netbeans 8.2。
但是,当应用程序部署到2个不同的tomcat服务器时,信息丢失,并显示:最近更新:[]
您可以在此处看到该应用:http://gatecybertech.net
为什么?如何从服务器正确获取时间戳?
答案 0 :(得分:0)
我在以下网站找到了与我的问题相关的一些信息,答案在底部:http://www.nakov.com/blog/2008/06/11/finding-the-directory-where-your-java-class-file-is-loaded-from/
最后我用这一行来获取时间戳:
this.getClass().getProtectionDomain().getCodeSource().getLocation().getFile()