2015-09-07 2 views
0

Я использую ссылку JPA ecilpse в своем проекте. Ниже мой pom.xmljsf faces Inject не работает при развертывании в wildfly

<groupId>sms</groupId> 
<artifactId>sms</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>war</packaging> 

<dependencies> 
    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>eclipselink</artifactId> 
     <version>2.5.0</version> 
    </dependency> 

    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxrs</artifactId> 
     <version>3.0.4.Final</version> 
     <scope>provided</scope> 
    </dependency> 

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

    <dependency> 
     <groupId>com.mysema.querydsl</groupId> 
     <artifactId>querydsl-apt</artifactId> 
     <version>3.0.0</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.mysema.querydsl</groupId> 
     <artifactId>querydsl-jpa</artifactId> 
     <version>3.0.0</version> 
    </dependency> 

    <dependency> 
     <groupId>javax.ejb</groupId> 
     <artifactId>javax.ejb-api</artifactId> 
     <version>3.2</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>javax.faces</groupId> 
     <artifactId>javax.faces-api</artifactId> 
     <version>2.2</version> 
    </dependency> 


</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.3</version> 
      <configuration> 
       <failOnMissingWebXml>false</failOnMissingWebXml> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>com.mysema.maven</groupId> 
      <artifactId>apt-maven-plugin</artifactId> 
      <version>1.0.9</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>process</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>target/generated-sources/java</outputDirectory> 
         <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

Я создал класс доступа к данным в следующих

@RequestScoped 
public class AddressDao extends BaseDao<Address, QAddress>{ 
} 

Ниже мой файл ресурсов.

@Path("hello") 
@RequestScoped 
@Stateless 
public class StructureResource { 

    @Inject 
    AddressDao addressDao; 

    @GET 
    public Response getList(){ 
     Address address = addressDao.get(1L); 
     return Response.ok().build(); 
    } 
} 

Когда я развертываю, я получаю следующую ошибку.

Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type AddressDao with qualifiers @Default 
    at injection point [BackedAnnotatedField] @Inject  com.sms.modules.identity.boundary.StructureResource.addressDao 

Пожалуйста, дайте мне знать, что мне не хватает.

ответ

0

создать ли вы файл beans.xml в ресурсы каталог вашего Maven проекта? Это требуется по спецификации CDI для маркировки банок, в которых контейнер AS будет выполнять поиск CDI-компонентов.

+0

Да, это была проблема. Теперь работает. Спасибо .. beans.xml нужно создать в META-INF ... –

Смежные вопросы