2016-09-14 118 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數據過濾器和分頁工程。