2014-09-10 70 views
0

我有一个在Websphere服务器(如war和Eclipse Project)上正常工作的应用程序。 通过WAR直接部署在Liberty上也可以正常工作。WAS Liberty未提供图像,css,js

我试图通过Eclipse项目将它部署在WAS Liberty 上。没有控制台错误,但一旦应用程序加载,以下文件都不会加载到网页中:js,gif,css

因此,页面看起来失真,大部分功能都丢失。 令人惊讶的是,js文件夹中有一些JSP,并且这些JSP正在加载,所以看起来像文件夹已正确发布。但是对于所有提到的文件(js等),我在浏览器控制台中收到以下错误:500(内部服务器错误)。 没有错误,服务器日志也是干净的。

我的设置:WAS Liberty 8.5,RHEL 6.5。 Eclipse Luna,WDT 8.5.5.2。具有Eclipse结构的项目,而不是maven。 我已经试过宽松配置和'从工作区'设置

Edit1:我注意到Spring bean没有正确初始化。在applicationContext.getBean上获得空指针。

+0

Liberty默认情况下会提供静态文件,因此它应该可以工作。所以检查你的html/jsp文件中图片的链接。并尝试通过在浏览器中放置url直接访问图像。还要检查LIBERTY \ usr \ servers \ serverName \ logs文件夹中的messages.log文件。 – Gas 2014-09-10 10:09:50

+0

检查日志,没有有用的错误。如果直接复制粘贴浏览器上的链接,我会得到“null for uri:” 并且在浏览器控制台中出现相同的500错误。 – amjava 2014-09-10 10:28:49

+0

你的项目偶然有一个maven结构吗?或Eclipse的结构? – Gas 2014-09-10 11:29:39

回答

1

好的,发现问题了。

正如我猜测这是有关春季初始化,虽然问题是更多的代码相关。

由于REST实现的错误实现,其中基本路径被设置为根应用程序路径(“/”),其余API类在应用程序加载时得到实例化,然后调用实例化少数Spring bean的代码。 但是在这一点上,春天的听众并没有被解雇,因此appcontext是空的。一些基础应用程序对象正在使用空的bean进行初始化,因此春天的安全上下文和相关类未能正确地提供应用程序内容。 (问题是春天相关的代码是由另一个团队创建的,我们只是拿到罐子,因此我甚至无法正确调试它,所以我不知道它究竟在哪里失败)

这件事使它Liberty特定的是:如果我们部署为WAR,则相同的有问题的代码在Websphere完全配置文件和Weblogic上甚至在Liberty上都可以正常工作。不知道什么类加载差异导致行为差异。

感谢所有花时间和努力回复的人。

相关问题