簡體   English   中英

java.lang.NoClassDefFoundError:javax / validation / Validator

[英]java.lang.NoClassDefFoundError: javax/validation/Validator

我不知道為什么我的應用會引發此錯誤:

[錯誤] java.lang.NoClassDefFoundError:javax / validation / Validator [錯誤]在java.lang.ClassLoader.defineClass1(本機方法)[錯誤]在java.lang.ClassLoader.defineClass(ClassLoader.java:800)[錯誤]在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)[ERROR]在java.net.URLClassLoader.defineClass(URLClassLoader.java:449)在java.net.URLClassLoader.access $ 100(URLClassLoader.java: 71)java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)的[ERROR] java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)的[ERROR] java.security.AccessController的[ERROR]。 doPrivileged(本機方法),java.net.URLClassLoader.findClass(URLClassLoader.java:354)上的[ERROR],java.lang.ClassLoader.loadClass(ClassLoader.java:425)上的[ERROR],com.google.appengine,[ERROR] .tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:215)在Java.lang.ClassLoader.loadClass(ClassLoader.java:358)出現[ERROR]在org.jboss.resteasy.core.ResourceMethod。[ResourceMet hod.java:162)org.jboss.resteasy.core.ResourceMethodRegistry.processMethod(ResourceMethodRegistry.java:280)出現[ERROR] org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:129)出現[ERROR] org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:111)上的[ERROR] org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:88)上的[ERROR]。 org.jboss.resteasy.plugins.guice.ModuleProcessor.process(ModuleProcessor.java:45)上的jboss.resteasy.plugins.guice.ModuleProcessor.processInjector(ModuleProcessor.java:66)[ERROR]在org.jboss上的[ERROR]。 resteasy.plugins.guice.GuiceResteasyBootstrapServletContextListener.contextInitialized(GuiceResteasyBootstrapServletContextListener.java:31)

當具有此依賴關系時:

的pom.xml

   <dependency>
       <groupId>javax.validation</groupId>
       <artifactId>validation-api</artifactId>
       <version>1.0.0.GA</version>
       <scope>provided</scope>
   </dependency>

   <dependency>
       <groupId>javax.validation</groupId>
       <artifactId>validation-api</artifactId>
       <version>1.0.0.GA</version>
       <classifier>sources</classifier>
       <scope>provided</scope>
   </dependency>

我在這上面撓頭,但是我找到了一個對我有用的解決方案。

從JBOSS文件夾(JBOSS 7和WildFly)打開standalone.xml(假設您處於獨立模式)。 路徑應類似於:

/{JBOSS_ROOT_FOLDER}/standalone/configuration/standalone.xml

在文件中,查找以下XML代碼段:

<subsystem xmlns="urn:jboss:domain:ee:2.0">
...
</subsystem>

其間將具有各種XML配置。 向其中添加以下內容:

<global-modules>
    <module name="{MODULE_NAME}" slot="main"/>  <--- where {MODULE_NAME} is the name of your module
</global-modules>

顯然,如果您已經有<global-modules>部分,則不要添加兩次,而是插入要使用的模塊。 這是一個古怪的事情,但這使我的WildFly運行起來。

請注意,“中的#2.0版特定於WildFly(JBOSS 8)。 JBOSS 7將/應該具有較低的版本。

注意:您必須在pom.xml的條目中保留<provided>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM