我是Java EE新手。我想测试JSF,因此做了一个简单的程序,但不能部署它。我收到以下错误信息:WELD-001408:带有限定符的客户类型的不满意依赖关系@Default
cannot Deploy onlineshop-war
deploy is failing=Error occurred during deployment: Exception while loading the app : CDI deployment failure:WELD-001408: Unsatisfied dependencies for type Customer with qualifiers @Default
at injection point [BackedAnnotatedField] @Inject private de.java2enterprise.onlineshop.RegisterController.customer
at de.java2enterprise.onlineshop.RegisterController.customer(RegisterController.java:0)
. Please see server.log for more details.
我的代码如下: Customer.java:
package de.java2enterprise.onlineshop.model;
public class Customer {
private String email;
private String password;
}
registerController.java:
package de.java2enterprise.onlineshop;
import java.io.Serializable;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import javax.inject.Inject;
import de.java2enterprise.onlineshop.model.*;
@Named
@RequestScoped
public class RegisterController {
private static final long serialVersionUID = 1L;
@Inject
private Customer customer;
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public String persist() {
return "/index.xhtml";
}
}
对于编译它,我必须包括cdi-api.jar作为外部库。这里有谁可以帮助我?谢谢大家。
我认为你的问题是客户不是@Named。 – 2015-02-05 19:44:32
CDI是否知道'Customer'类(例如托管bean或(本地)EJB)? – Tiny 2015-02-05 19:52:03
嘿所有,这真的很有帮助,谢谢!实际上,使用对“客户”类进行注释不起作用,但其中起作用。但为什么...? –
mike128
2015-02-05 21:09:29