Maven 在主项目中未找到子项目中的转换器类
我正在做一个大项目,包括10个子项目 我们使用Eclipse进行开发,JBoss7作为应用程序。服务器。我们的项目使用JSF2.1、Spring3.2、Hibernate4.2和PrimeFaces3.3实现JSF 有两个“核心”项目是其他项目引用的,这些项目是从其他8个项目中引用的,一个项目——比如说项目A-(共8个)引用了另一个项目——比如说项目B- 现在问题是,;项目A使用“核心”项目的实体,项目B包括JSF转换器 当我尝试在SelectOne菜单中使用实体时,我得到“Converter”not found错误。(注意:转换器正在工作!) 我将转换器定义添加到项目B的faces-config.xml中,但仍然得到相同的错误 如何使用其他项目的转换器 谢谢Maven 在主项目中未找到子项目中的转换器类,maven,jsf-2,converter,Maven,Jsf 2,Converter,我正在做一个大项目,包括10个子项目 我们使用Eclipse进行开发,JBoss7作为应用程序。服务器。我们的项目使用JSF2.1、Spring3.2、Hibernate4.2和PrimeFaces3.3实现JSF 有两个“核心”项目是其他项目引用的,这些项目是从其他8个项目中引用的,一个项目——比如说项目A-(共8个)引用了另一个项目——比如说项目B- 现在问题是,;项目A使用“核心”项目的实体,项目B包括JSF转换器 当我尝试在SelectOne菜单中使用实体时,我得到“Converter”
下面是“getAsObject”方法:答案取决于构建系统。您使用的是标准Eclipse还是Maven?BalusC;谢谢你的询价。我们使用Maven.My“getAsObject”以:return getSessionController().findByRID(“Akademikbirim”,value)结尾;这可能是重点,你同意吗?(这两个项目都包括sessionController,但项目B仅作为war包含,所以没有初始化控制器,对吗?)如果JSF找不到整个类,那么源代码是不相关的。不幸的是,我不做Maven,所以我不能从头开始详细回答。但说到这里,你需要确保Maven生成的项目结构最终是这样的,我已经编写了一个小代码,它可以找到并复制项目a中所需的转换器,但位于项目B中。我认为这是问题的明确解决方案,但现在,转换器中出现了一种奇怪的行为。您可以看到上面“getAsObject”方法的最后一行;该方法访问“sessionController”,但当我调用类“sessionController”的公共方法时,它失败。Primefaces扩展称“服务器返回异常类java.lang.NoSuchMethodError”,尽管这样的方法确实存在!
@Override
public Object getAsObject(FacesContext facesContext,
UIComponent uIComponent, String value) {
if (value == null || value.trim().equalsIgnoreCase("")) {
return null;
}
return ManagedBeanLocator.locateSessionController().findByRID("Akademikbirim", value);
}