我在WEB-INF / lib文件夹中拥有所有库,但是在执行时, Wildfly抱怨缺少一种方法:
2018-08-13 09:56:14,723 ERROR [stderr] (Thread-174) Exception in thread "Thread-174" java.lang.NoSuchMethodError: com.google.common.collect.Sets$SetView.iterator()Lcom/google/common/collect/UnmodifiableIterator;
2018-08-13 09:56:14,723 ERROR [stderr] (Thread-174) at org.reflections.Reflections.expandSuperTypes(Reflections.java:380)
2018-08-13 09:56:14,724 ERROR [stderr] (Thread-174) at org.reflections.Reflections.<init>(Reflections.java:126)
2018-08-13 09:56:14,724 ERROR [stderr] (Thread-174) at org.nd4j.linalg.api.ops.factory.DefaultOpFactory.<init>(DefaultOpFactory.java:71)
2018-08-13 09:56:14,724 ERROR [stderr] (Thread-174) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2018-08-13 09:56:14,724 ERROR [stderr] (Thread-174) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2018-08-13 09:56:14,724 ERROR [stderr] (Thread-174) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2018-08-13 09:56:14,724 ERROR [stderr] (Thread-174) at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
2018-08-13 09:56:14,724 ERROR [stderr] (Thread-174) at java.lang.Class.newInstance(Class.java:442)
2018-08-13 09:56:14,724 ERROR [stderr] (Thread-174) at org.nd4j.linalg.factory.Nd4j.initWithBackend(Nd4j.java:6192)
2018-08-13 09:56:14,724 ERROR [stderr] (Thread-174) at org.nd4j.linalg.factory.Nd4j.initContext(Nd4j.java:6087)
2018-08-13 09:56:14,725 ERROR [stderr] (Thread-174) at org.nd4j.linalg.factory.Nd4j.<clinit>(Nd4j.java:201)
我在运行时检查了类路径条目,结果发现缺少Guava 20.0.0。但是,Guava库包含在lib文件夹中,并且也指定为Maven依赖项。
我不知道的库是否有特殊处理?谢谢!
答案 0 :(得分:0)
您必须在WEB-INF文件夹中包含一个特殊的JBoss文件(“ jboss-deployment-structure.xml”),列出要忽略的所有模块(属于Wildfly的默认JEE堆栈),因此您的Web应用程序中的番石榴罐子优先于WF(%JBOSS_HOME / modules / system / layers / base / com / google / guava / main)之一。
示例:
<script type="text/javascript">
function OnSuccess(data)
{
window.location.href = "@Url.Action("Index", "Home")";
};
//other methods
jQuery(function ($) {...}
答案 1 :(得分:0)
如果您使用的是WL,请阅读此答案。
我在weblogic上部署的Web应用程序中也遇到类似的问题。
您的库与应用服务器上已经存在的标准库之间存在冲突。
在WEB-INF文件夹上添加此weblogic.xml:
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
<wls:weblogic-version><my_wl_version</wls:weblogic-version>
<wls:context-root>my_app</wls:context-root>
<wls:container-descriptor>
<wls:prefer-application-packages>
<wls:package-name>com.google.*</wls:package-name>
</wls:prefer-application-packages>
</wls:container-descriptor>
</wls:weblogic-web-app>