Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse JSF项目中的错误注入EJB_Eclipse_Jsf_Jpa_Jakarta Ee_Ejb - Fatal编程技术网

Eclipse JSF项目中的错误注入EJB

Eclipse JSF项目中的错误注入EJB,eclipse,jsf,jpa,jakarta-ee,ejb,Eclipse,Jsf,Jpa,Jakarta Ee,Ejb,大家好,我是JavaEE新手,我想用EJB和JSF开发一个应用程序,当我想在WebDynamicque项目中注入我的JAR时,我遇到了这个错误,我什么都不懂,请任何人都帮我 17:54:06,324 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."PGestion.war".INSTALL: org.jboss

大家好,我是JavaEE新手,我想用EJB和JSF开发一个应用程序,当我想在WebDynamicque项目中注入我的JAR时,我遇到了这个错误,我什么都不懂,请任何人都帮我

17:54:06,324 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."PGestion.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."PGestion.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "PGestion.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:172)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEJB0406: No EJB found with interface of type 'com.bestofgeeks.gestion.dao.Implement.GestionDAOBean' for binding com.bestofgeeks.gestion.services.ImplService.ImplServiceProduct/product
    at org.jboss.as.ejb3.deployment.processors.EjbInjectionSource.getResourceValue(EjbInjectionSource.java:90)
    at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.addJndiBinding(ModuleJndiBindingProcessor.java:211)
    at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor$1.handle(ModuleJndiBindingProcessor.java:182)
    at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:54)
    at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.processClassConfigurations(ModuleJndiBindingProcessor.java:186)
    at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:143)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:165)
    ... 5 more

17:54:06,341 INFO  [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-2) ISPN000128: Infinispan version: Infinispan 'Chakra' 8.2.8.Final
17:54:06,696 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 62) WFLYCLINF0002: Started client-mappings cache from ejb container
17:54:06,777 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "PGestion.war")]) - failure description: {
    "WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"PGestion.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"PGestion.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEJB0406: No EJB found with interface of type 'com.bestofgeeks.gestion.dao.Implement.GestionDAOBean' for binding com.bestofgeeks.gestion.services.ImplService.ImplServiceProduct/product"},
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.deployment.unit.\"PGestion.war\".beanmanager"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.deployment.unit.\"PGestion.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"PGestion.war\".beanmanager]",
        "jboss.deployment.unit.\"PGestion.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"PGestion.war\".beanmanager]"
    ]
}
这是DAO的接口:

package com.bestofgeeks.gestion.dao; 

import java.util.List; 
import javax.ejb.Local; 
import com.bestofgeeks.gestion.entity.products; 

@Local 
public interface IGestion { 
  public void delete(products p); 
  public products persiste(products p); 
  public List<products> selectAll(); 
} 
还有我的jsf项目 我创建了一个控制器 这是密码

    package com.bestofgeeks.gestion.controllers;

import javax.annotation.ManagedBean;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;


import com.bestofgeeks.gestion.services.Iservices;

@RequestScoped @ManagedBean
public class myProduct {
@EJB
    public String name = "noredine";

    Iservices service;







}

必须注入本地接口,而不是bean:

@EJB
IGestion product;
正如@kukeltje在评论中所说:

阅读错误:(emphasis mine)“找不到类型为的接口的EJB 'com.bestofgeeks.gestion.dao.Implement.GestionDAOBean'以及它是什么 引用是一个impl,而不是


界面

你可以发布一些代码吗?请添加更多这还不足以帮助你。并请将其添加到不在评论中的问题中。请按其下方的“编辑”按钮编辑您的问题,而不是将其添加到评论中。这里没有与JSF相关的代码,jpa和JavaEE也不是太广泛。尝试创建一个读取错误:(emphasis mine)“找不到类型为'com.bestofgeeks.gestion.dao.Implement.GestionDAOBean'的接口的EJB”,它引用的是impl,而不是接口!正如错误中明确指出的(正如我所评论的)。也许在答案中加上这一点,让其他“学习”阅读错误,因为它们大多非常明确
    package com.bestofgeeks.gestion.services;

import java.util.List;

import javax.ejb.Local;

import com.bestofgeeks.gestion.entity.products;

@Local
public interface Iservices {
    public List<products> selectAll();
    public void delete(products p);
    public products persiste(products p);
}
    package com.bestofgeeks.gestion.services.ImplService;

import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import com.bestofgeeks.gestion.dao.Implement.GestionDAOBean;
import com.bestofgeeks.gestion.entity.products;
import com.bestofgeeks.gestion.services.Iservices;

@Stateless
public class ImplServiceProduct implements Iservices{
    @EJB
    GestionDAOBean product;


    @Override
    public List<products> selectAll() {

        return product.selectAll();
    }

    @Override
    public void delete(products p) {
        // TODO Auto-generated method stub
        product.delete(p);

    }

    @Override
    public products persiste(products p) {
        // TODO Auto-generated method stub
        return product.persiste(p);
    }


}
    package com.bestofgeeks.gestion.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table
public class products {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long id;
    @Column
    private String nameproduct;
    @Column
    private String reference;
    @Column
    private Date dateposte;
    public products(String nameproduct, String reference, Date dateposte) {
        super();
        this.nameproduct = nameproduct;
        this.reference = reference;
        this.dateposte = dateposte;
    }
    public products() {
        super();
        // TODO Auto-generated constructor stub
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getNameproduct() {
        return nameproduct;
    }
    public void setNameproduct(String nameproduct) {
        this.nameproduct = nameproduct;
    }
    public String getRefence() {
        return reference;
    }
    public void setRefences(String reference) {
        this.reference = reference;
    }
    public Date getDateposte() {
        return dateposte;
    }
    public void setDateposte(Date dateposte) {
        this.dateposte = dateposte;
    }


}
    package com.bestofgeeks.gestion.controllers;

import javax.annotation.ManagedBean;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;


import com.bestofgeeks.gestion.services.Iservices;

@RequestScoped @ManagedBean
public class myProduct {
@EJB
    public String name = "noredine";

    Iservices service;







}
@EJB
IGestion product;