10

WildFly で WELD を完全に無効にする方法。別の DI フレームワークを使用しているため、必要ありません。

例外 0: javax.enterprise.inject.UnsatisfiedResolutionException: 修飾子 [@javax.enterprise.inject.Any()、@javax.enterprise.inject を使用して「org.springframework.data.mongodb.core.MongoOperations」の Bean を解決できません。デフォルト()]。org.springframework.data.mongodb.repository.cdi.MongoRepositoryExtension.createRepositoryBean(MongoRepositoryExtension.java:104) で org.springframework.data.mongodb.repository.cdi.MongoRepositoryExtension.afterBeanDiscovery(MongoRepositoryExtension.java:79) で sun.reflect .NativeMethodAccessorImpl.invoke0(ネイティブ メソッド)、sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)、sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)、java.lang.reflect.Method.invoke(Method) .java:606) org.jboss.weld.

私は試した

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:weld="http://jboss.org/schema/weld/beans"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee    http://java.sun.com/xml/ns/javaee/beans_1_0.xsd
                       http://jboss.org/schema/weld/beans http://jboss.org/schema/weld/beans_1_1.xsd
http://jboss.org/schema/weld/beans ">

<weld:scan>
    <weld:exclude name="com.google.**"/>
    <weld:exclude name="org.springframework.data.mongodb.**"/>
</weld:scan>

しかし、それは私の問題を解決しませんでした。

4

3 に答える 3

17

標準的な方法があります:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
                       http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
   version="1.1" bean-discovery-mode="none">
</beans>
于 2014-02-13T14:30:21.253 に答える
16

オプション 1: 戦争中の jboss-all.xml

これは Weld 固有ですが、デプロイ全体 (war ファイルとその中のすべての jar ファイルなど) に対する Weld の自動 Bean スキャンを無効にします。beans.xmlこれは、jboss-seam-resteasy.jar などのサードパーティの jar に簡単に追加できない場合に便利です。

WEB-INF/jboss-all.xml戦争については保存します。それ以外のMETA-INF/jboss-all.xml場合:

<jboss xmlns="urn:jboss:1.0">
    <weld xmlns="urn:jboss:weld:1.0" require-bean-descriptor="true"/>
</jboss>

デプロイメントごとの構成を参照してください。

オプション 2: WildFly の standalone.xml

アプリケーション自体を変更する必要のない別のオプションは、ランダム jar を CDI ライブラリとして扱わないように、weld サブシステムを構成することです。WildFly での溶接の構成を次のように編集するだけですstandalone.xml

<subsystem xmlns="urn:jboss:domain:weld:2.0" require-bean-descriptor="true"/>
于 2014-06-05T23:43:37.760 に答える