在我的EAR中部署时出现以下错误。在弹性搜索连接期间会出现异常。在我的EAR中我使用了番石榴版本18.这是ES 2.0+的推荐版本(我使用的是ES 2.3.3)
$('.alphabetized').click(function(event) {
var textareaInput=$('.textareaInput').val();
var strToArr=textareaInput.split(',');
var arrUniqueVal=arrUnique(strToArr);
$('.textareaInput').val(arrUniqueVal.sort().join(','));
console.log(arrUniqueVal);
//alert("ok");
});
...
在大多数搜索中,它提到它是因为番石榴罐子冲突。
java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor
所以我在运行weblogic时添加了-verbose:class作为Java选项,以查看是否加载了旧版本的guava
但令我惊讶的是,没有发现任何番石榴罐装满了。但我怀疑weblogic.server.merged.jar是否已预先包装谷歌库。
所以我的问题是 有没有什么办法可以告诉容器使用应用程序中的jar文件而不是weblogic?
答案 0 :(得分:0)
我可以通过向我的EAR添加带有prefer-application-packages的weblogic-application.xml来解决此问题。
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://xmlns.oracle.com/weblogic/weblogic-application"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.0/weblogic-application.xsd">
<prefer-application-packages>
<package-name>com.google.common.*</package-name>
</prefer-application-packages>
</weblogic-application>