2016-09-14 97 views
0

我似乎无法追查这个错误。当过滤PrimeFaces时,JSF java.lang.ClassNotFoundException org.jboss.msc.service.ServiceName Datatable

抛出java.lang.ClassNotFoundException:org.jboss.msc.service.ServiceName从[模块 “deployment.OpsSkills.war:主” 从服务模块加载]

它一个Maven基于JSF应用使用Eclipse创建。该应用程序在我的机器上运行良好,但未部署到DEV服务器。当我尝试在PrimeFaces数据表上使用FilterBy参数或使用分页按钮时,会引发异常。该表在DEV中显示正常,但是当我在列标题的过滤器框中键入一个字符时,会抛出异常。

真的很烦人的是,我有其他类似的应用程序在Prime服务器上运行,Primefaces Datatable过滤器很好。所以我试着将一个正在运行的eclipse项目复制到一个新的文件夹中,只是将源代码放入陷入困境的应用程序的源代码中。我试过这个,因为当我最初创建新的应用程序时,我使用maven生成样板文件,不幸的是它使用了更新的版本,例如webmodule,jsf,jpa等。我们的DEV服务器正在运行(并且我不能升级到WildFly):

Server info: JBoss Web/7.0.13.Final 
Servlet version: 3.0 
Java version: 1.6.0_40 

所以我想利用现有的,已知能够正常工作的web.xml,beans.xml中,面临-配置,等...仍然抛出异常。
然后,我把PF Showcase和THEY WORK IN DEV中的FilterView演示文件。不同的是它不使用数据库备份表,而我的是。对于这个新应用程序,PF DT工作的其中一个应用程序也有所不同,这是因为新的应用程序数据库表位于不同的Oracle数据源上(如果有的话)(已停用的应用程序部署并且初始数据表显示数据,所以我没有看到相关性)。

下面是一些相关的代码:

<h:form> 
<p:dataTable id="certTable" var="cert" value="#{certificationView.list}" emptyMessage="No records found" paginator="true" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="25,50,100" rows="50" filteredValue="#{certification.filteredList}"> 

     <p:column headerText="Title" sortBy="#{cert.certTitle}" filterBy="#{cert.certTitle}" filterMatchMode="contains" 
     <h:outputText value="#{cert.certTitle}" /> 
     </p:column> 


@ManagedBean 
@ViewScoped 
public class CertificationView implements Serializable { 
private static final long serialVersionUID = 1L; 

@Inject 
private CertificationRepository dao; 

private List<Certification> list; 
private List<Certification> filteredList; 

@PostConstruct 
public void init() { 
    list = dao.retrieveAll(); 
} 


@Stateless 
@LocalBean 
public class CertificationEBRepository extends DataAccessService<CertificationEB, String> { 

@Inject 
@MyDatabase 
private EntityManager em; 

public List<Certification> retrieveAll() { 
    Query query = em.createQuery("My Query"); 
    List<Certification> result = query.getResultList(); 
    return result; 
} 

如何解决这个问题?

回答

0

OK所以在我的web.xml我有

<context-param> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>client</param-value> 
    </context-param> 

不知道这是为什么崩溃PF数据表?

但是,一旦我删除它,PF数据过滤器和分页工程。