我在Struts应用程序中运行JUNIT测试时收到java.lang.ExceptionInInitializerErr


Error in console for all test cases i am running in STRUTS maven project:
testOverride(com.cisco.mcm.testcase.TestOverrides)  Time elapsed: 3.969 sec  <<< ERROR!
java.lang.ExceptionInInitializerError
    at com.cisco.servicesales.mcm.utils.MCMDataUtil.getDataSource(MCMDataUtil.java:55)
    at com.cisco.servicesales.mcm.utils.MCMDataUtil.getServices(MCMDataUtil.java:45)
    at com.cisco.mcm.dao.AccessManagementDAO.getUserData(AccessManagementDAO.java:83)

MCMDataUtil.java(line 55 ): 
public static DataSource getDataSource(String ConnectionPoolName) {
        System.out.println("Inside getDatasource...1");
        logger.info("Inside getDataSource Method");
        DataSource dataSource = null;   
        System.out.println(":Inside getDatasource...2");
line 55:        ApplicationContext context = SpringSingleton.getContext();
        System.out.println(":Inside getDatasource...3");

由于此错误,Bean 未实例化:

at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334)
at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [dataSource-beans.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public javax.sql.DataSource com.cisco.mcm.util.WASConnectionPoolManager.loadPool(java.lang.String)] threw exception; nested exception is java.lang.NoClassDefFoundError: oracle/security/pki/OracleWallet
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:396)
    at org.springframework.beans.factory.support.Ab

你能帮忙摆脱这个错误吗?我已经尝试了很长时间,但找不到任何解决方案。

如果您通过阅读异常的方式,有时它会告诉您有关嵌套异常的信息。如果您不习惯堆栈跟踪,则可能很难阅读这些内容。在这种情况下,根本原因是:

嵌套异常是java.lang.NoClassDefFoundError: oracle/security/pki/OracleWallet

这告诉我们 JVM 找不到要加载oracle.security.pki.OracleWallet,以便创建与数据库的连接。您的类路径上是否有oracle.security.pki.OracleWallet作为另一个 jar 的一部分?

相关内容

最新更新