嗨,我有一个非常奇怪的问题。我在一个使用 Spring 4.2.4 , Hibernate 5 和 WebSphere Liberty Profile 8.5.5 作为应用程序服务器的项目上工作。当我更改jsp文件的内容时,此更改不会反映出来,并且每次都必须重新启动服务器。而是反映对CSS或Java文件所做的更改,并且我不需要重新启动服务器。
我创建了一个只有一个jsp和spring库的小项目来隔离问题,并且我注意到,如果我从类路径中删除 spring-data-jpa 库,则服务器会反映jsp的更改,并且一切正常。不幸的是我需要那个图书馆。
我试图将spring库升级到4.3.1版本,并将 spring-data-jpa 升级到1.10.2版本,但是没有任何变化。
这些是我使用的spring库:
spring-aop-4.2.4.RELEASE.jar spring-aspects-4.2.4.RELEASE.jar spring-beans-4.2.4.RELEASE.jar spring-context-4.2.4.RELEASE.jar spring-context-support-4.2.4.RELEASE.jar spring-core-4.2.4.RELEASE.jar spring-data-commons-1.12.1.RELEASE.jar spring-data-commons-core-1.4.1.RELEASE.jar spring-data-jpa-1.10.1.RELEASE.jar spring-data-oracle-1.2.1.RELEASE.jar spring-expression-4.2.4.RELEASE.jar spring-instrument-4.2.4.RELEASE.jar spring-jdbc-4.2.4.RELEASE.jar spring-orm-4.2.4.RELEASE.jar spring-oxm-4.2.4.RELEASE.jar spring-tx-4.2.4.RELEASE.jar spring-web-4.2.4.RELEASE.jar spring-webmvc-4.2.4.RELEASE.jar
以及我的 server.xml中 的属性 __
<featureManager> <feature>javaee-7.0</feature> <feature>localConnector-1.0</feature> <feature>distributedMap-1.0</feature> <feature>ejbRemote-3.2</feature> </featureManager> <applicationManager autoExpand="true"/> <applicationMonitor updateTrigger="mbean"/>
我不明白 Liberty 和 spring-data-jpa 之间的关联是什么,为什么这个库会干扰服务器功能?我必须在 server.xml 或 web.xml中 设置任何参数吗?
我还尝试将所有Liberty功能(http://www.ibm.com/support/knowledgecenter/en/SS7K4U_liberty/com.ibm.websphere.wlp.zseries.doc/ae/rwlp_feat.html)添加到 服务器。 xml, 但没有任何变化。
请帮助我,每次服务器重启大约需要3分钟。
提前致谢!
此处的问题很可能与该APAR中解决的问题有关,该问题已包含在WebSphere Liberty 16.0.0.2中: PI58316:如果启用了CDI-1.2功能,则无法在EAR或WAR中进行对JSP的更改
该问题与启用cdi-1.2功能时无法正确重新加载JSP文件有关。在这种情况下,该javaee-7.0功能启用cdi-1.2。如果可能,将Liberty服务器升级到16.0.0.2修订包应该可以解决此问题。或者,删除javaee-7.0功能并仅启用非cdi-1.2功能(例如jsp-2.3)也可以解决该问题。
javaee-7.0
cdi-1.2
jsp-2.3