我有一个简单的portlet要部署在WebSohere Portal Server中。
这是一个war文件,在其lib文件夹中包含一个jar文件。在jar文件中,我尝试读取一个属性文件。在我的portlet项目中,我在src的root中有一个属性文件,并且可以毫无问题地读取其中的jar文件。
但是如果我重新部署war文件并且不重新启动服务器,下面的代码行返回null并且它不能从属性文件中读取。重新启动服务器后,一切都好了。
InputStream inStream = this . get class()。getClassLoader()。getResourceAsStream(" my file . properties ");
我检查了类加载器的设置,父类是最后一个。我不知道是什么原因。知道吗?
由于性能原因,文件只读取一次并缓存。
编辑:如果您希望修改文件,请将文件保留在本地文件系统上的EAR文件之外,并使用环境/服务器变量指向其路径。参考代码中的变量来加载文件。
尝试使用上下文类加载器而不是类的类加载器,因为您没有将jar中的资源与类捆绑在一起(如果我没理解错的话)。
Thread.currentThread().getContextClassLoader().getResourceAsStream(…)
您是否碰巧在另一个web模块或者WebSphere共享库文件夹中有这个jar?由于您描述的行为是null,而不仅仅是旧的文件值,我不太倾向于认为这涉及到缓存,而更多的是您只是获得了一个与您认为的不同的类实例,并且因为您使用的是实用程序类本身的类加载器,所以在WEB模块的WEB-INF/classes中找不到属性文件。
我在我的ubuntu 18.04系统上安装了tomcat 8。后来,我从地理服务器页面下载了地理服务器Web存档,并在/var/lib/tomcat8/webapps上部署了war文件。Tomcat 在部署 war 文件之前工作正常。[ 本地主机:8080] 工作正常。但是我遇到的问题是,在webapps目录中部署地理服务器战争后,tomcat没有在浏览器上加载。 我使用命令sudo servic
我有自己的小MVC框架,我使用composer psr-4自动加载。 在我自己的计算机上,它工作得非常好,但当我将它部署到我的Ubuntu服务器上时,它就不再工作了。(它再也找不到任何类了)我已经尝试了很多东西,但无论我尝试什么,它都不起作用。。。 我所尝试过的: 作曲家转储自动加载 作曲家更新 删除所有内容并再次上载 在互联网上搜索几个小时…:( 这是我的composer.json: 我只是不明
我正在Windows 7中使用Dist命令准备部署。(播放2.0.4) zip生成成功,但当我尝试使用以下命令启动应用程序时: 控制台显示此错误: 错误:无法找到或加载主类e:\部署\test-1.0-SNAPSHOT\lib\ch.qos.logback.logback-core-logback-core-1.0.0.jar 我已经检查过这个jar是由Play Framework在<代码>c:\
我刚刚开始研究vert.x,并从 https://github.com/vert-x3/vertx-examples/tree/master/kotlin-examples/web 下载了一个宁静的项目示例。根据自述文件,当有任何文件更改时,它应该能够自动重新部署,但它似乎不起作用。无论我更改主类文件多少次,它仍然无法反映。我所做的是: 运行“渐变运行” 更改源文件,启动器能够检测到更改,并表示它
步骤3-“分析器”:已有图像(带有摘要):us.gcr.io/gae-runtimes/buildpacks/java11/builder:java11_20200816_11_0_rc00 步骤3-“分析器”:错误:初始化缓存失败:创建映像缓存失败:访问缓存映像“us.gcr.io/my-project-dev-287623/app-engine-tmp/build-cache/ttl-7d/d
问题内容: 我最近将项目升级到grails 2.3.0。一切正常,除非我每次更改代码时都遇到自动重装无法正常工作的问题。这包括所有项目人工制品- 控制器,域,服务,gsps,css和javascript文件。 我的较早版本的grails可以正常工作,并且每次进行更改时都会重新加载和重新编译。 我知道这个问题很普遍,我已经搜寻了吉拉(Jira),纳布尔(Nabble),在这里呆了好几天,但我发现没有