我正在尝试使用Play2War将Play 2.1.1应用部署到Websphere 8.5.5上。该应用程序在使用play ~run
启动时工作正常但是当我将战争部署到Websphere时,我收到以下错误消息:
org.reflections.ReflectionsException:
could not create Vfs.Dir from url, no matching UrlType was found
[wsjar:file:/C:/apps/websphere/wlp/usr/servers/server_kev/workarea/org.eclipse.osgi/bundles/45/data/cache/com.ibm.ws.app.manager_gen_0fdbabb2-5ae7-4075-bda1-136e52319906/.cache/WEB-INF/lib/playbackend.jar!/]
其他人看到过这个问题了?
答案 0 :(得分:1)
如果尚未使用当前的Reflection lib开箱即可,只需添加Vfs UrlType:
Vfs.addDefaultURLTypes(
new Vfs.UrlType() {
public boolean matches(URL url) {
return url.getProtocol().equals("vfs");
}
public Vfs.Dir createDir(URL url) {
return DefaultUrlTypes.jarUrl.createDir(url);
}
答案 1 :(得分:0)
如果您使用Subcontext Deployment
,请确保在conf/application.conf
中添加:
application.context=/KevSheedyApp/
您可以将战争命名为KevSheedyApp.war
。
您应该可以通过http://host:port/KevSheedyApp/bla/bla
答案 2 :(得分:0)
即使使用最新版本的Reflection lib,我也会得到这个。我最终发现这是我建造我的(胖)罐子的方式(或者在你的情况下是战争)。我有一个ant脚本(最初由Eclipse生成),它将libs原样复制到jar中并使用某种加载器。我告诉它将lib解压缩到我的jar中,这解决了这个问题。不确定为什么当它们被装入jar / war时会发生这种情况。我希望这有助于某人。