【发布时间】:2019-06-11 12:29:24
【问题描述】:
我正在 Wildfly 14 上部署 CAS 5.3.10,使用 https://apereo.github.io/cas/5.3.x/installation/Configuring-Servlet-Container.html#external 中指定的 Maven Overlay 并使用位于 https://github.com/apereo/cas-overlay-template/tree/5.3 的项目模板
我已经编辑了在 Wildfly 9 上正确部署的 pom,但在 Wildfly 14 上部署失败并出现以下异常:
原因:java.lang.IllegalArgumentException: object is not an 声明类的实例 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 org.springframework.core.io.VfsUtils.invokeVfsMethod(VfsUtils.java:100) 在 org.springframework.core.io.VfsUtils.getFile(VfsUtils.java:172) 在 org.springframework.core.io.VfsResource.getFile(VfsResource.java:90) 在 org.apereo.cas.util.CasVersion.getDateTime(CasVersion.java:59) 在 org.apereo.cas.util.SystemUtils.getSystemInfo(SystemUtils.java:50) ......
问题似乎与CasVersion 类有关,该类试图通过 VFS(通过 spring)访问以检索与模块的最后修改日期相关的信息。
【问题讨论】:
-
我遇到了同样的问题。我没有找到解决方案,所以我降级到 wildlfy 12。
-
@leopal 我在 wildfly 14 上成功部署了 War 我验证了 Spring 的 VfsUtils 类仅在 CasVersion 类中使用。此时,在叠加层中,我在项目中创建了 org.apereo.cas.util.CasVersion 类,避免在 getDateTime 方法中使用 VfsResource
-
很好,请随时回答您的问题,以帮助其他面临同样问题的人。
-
@Marco 我找不到你。你能详细解释一下吗?我实际上被困住了
-
@RaviMCA 您是否尝试过上述评论中提到的 Marco 解决方案?我还没有测试过自己,但我想它会起作用。
标签: maven wildfly war web-deployment cas