遵循教程并遇到问题。 系统:wildfly 10,maven项目,多模块,包装:耳朵
EJB:
@Stateless
public class ToyService implements ToyServiceRemote, ToyServiceLocal {
...
}
INTERFACE:
@Local
public interface ToyServiceLocal {
...
}
BEAN:
@Named("toyProducts")
@RequestScoped
public class ProductBean {
@Inject
private ToyServiceLocal toyService;
@PostConstruct
public void initialize() {
toyList = toyService.getAllToys();
}
...
}
JSF:
<ui:repeat value="#{toyProducts.toyList}" var="toy">
...
</ui:repeat>
应用程序部署,但是当我尝试在浏览器中打开页面时,我得到了:
错误[io.undertow.request](默认任务-62)UT005023:异常 处理对/index.xhtml的请求:javax.servlet.ServletException:可以 没有设置com.example.common.service.ToyServiceLocal字段 shop.beans.ProductBean.toyService to com.example.product.service.ToyServiceLocal $ ToyServiceRemote $一三零三零二九八零八$代理$ _ $$ _焊接$ EnterpriseProxy $ 在javax.faces.webapp.FacesServlet.service(FacesServlet.java:671) 野生蝇实验|在 io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) 野生蝇实验|在 io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) 野生蝇实验|在 io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ...
答案 0 :(得分:0)
我这次发现了“真正的”答案:因为我使用的是多模块maven项目,打包为EAR(包含一些EJB,一个常见的JAR和WAR文件)。我所要做的就是添加WAR文件中提供的范围(常见的是JAR和EJB中的产品)
module A
extend C
class << self
def initializer
puts "initialize() of Module A"
end
end
add_initializer(->{initializer})
end