2016-07-28 100 views
0

爲什麼會出現此錯誤。當我將代碼作爲Java應用程序(IBM RSA \ Eclipse)運行並處於隔離的部署環境中時,我在開發工具中獲得它。 我可以對代碼運行junits,它們是成功的,所以我知道解析特定的應用程序上下文文件不是問題(Web服務應用程序上下文)。 junit和maven依賴關係在junit和運行java應用程序的classpath上。 我知道CXF默認使用的Java記錄器,但加入該命令沒有幫助,無法初始化java.util.logging.LogManager類

System.setProperty("org.apache.cxf.Logger", "org.apache.cxf.common.logging.Log4jLogger"); 

如果我調試我看到,當應用程序上下文文件進行解析的問題提出的代碼。

引起:org.springframework.beans.FatalBeanException:無效的NamespaceHandler類[org.apache.cxf.jaxws.spring.NamespaceHandler]用於名稱空間[http://cxf.apache.org/jaxws]:處理程序類文件或相關類存在問題;嵌套的異常是java.lang.NoClassDefFoundError:無法初始化類java.util.logging.LogManager

+0

看來,你缺少的部署類路徑彈簧罐子。檢查你是否已經部署了junit中使用的所有罐子 – pedrofb

+0

我正在使用Maven來使用這兩種情況下的相同罐子。 – jimmy

回答

0

解決方案是添加此係統屬性並提供作爲java應用程序運行時的默認文件。

System.setProperty(「java.util.logging.config.file」,「/log/logging.properties」);

http://www.javapractices.com/topic/TopicAction.do?Id=143

現在我還有一個問題,但在性質上相似,所以希望我能找到一個類似的解決方案。

產生的原因:java.lang.NoClassDefFoundError:無法初始化類java.net.ProxySelector中

相關問題