java.lang.NumberFormatException 在 db2jcc.jar
java.lang.NumberFormatException in db2jcc.jar
我在 Java 应用程序中遇到了这个异常。我提取了 JAR 文件并尝试检查这是什么根本原因,但我没有得到它,因为我无法对其进行调试。
我有源 JAR 文件,但每次我将它附加到我的工作区时,它仍然显示 "the source attachment does not contain the source for the file ad.class"。
错误堆栈如下:
Caused by: java.lang.NumberFormatException: For input string: "A"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:59)
at java.lang.Integer.parseInt(Integer.java:460)
at java.lang.Integer.parseInt(Integer.java:510)
at com.ibm.db2.jcc.c.ad.<init>(ad.java:80)
at com.ibm.db2.jcc.b.f.<init>(f.java:55)
at com.ibm.db2.jcc.b.b.ib(b.java:1760)
at com.ibm.db2.jcc.c.p.a(p.java:2490)
at com.ibm.db2.jcc.b.b.a(b.java:470)
at com.ibm.db2.jcc.b.b.<init>(b.java:264)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:163)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:308)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 12 more
我该如何调试它?
"A" 不是数字 您可能试图将字符串值插入到只允许数字的变量或数组中,请确保正确声明了变量和数组。如果您将注意力集中在您正在尝试的错误中,请尝试将字符串值转换为整数。希望你能在我的帮助下解决你的错误度过美好的一天
我认为,问题出在您传递 DBCP 连接池值的地方 - 最小计数、最大计数等。您传递了 "A" 而不是整数。
请检查您提供数据库连接参数的 spring 上下文文件或属性文件。
我找到了解决方案,它的原因是 db2jcc.jar 对于 db2 版本来说太旧了。我在这里找到了解决方案并设法修复它。
我在 Java 应用程序中遇到了这个异常。我提取了 JAR 文件并尝试检查这是什么根本原因,但我没有得到它,因为我无法对其进行调试。
我有源 JAR 文件,但每次我将它附加到我的工作区时,它仍然显示 "the source attachment does not contain the source for the file ad.class"。
错误堆栈如下:
Caused by: java.lang.NumberFormatException: For input string: "A"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:59)
at java.lang.Integer.parseInt(Integer.java:460)
at java.lang.Integer.parseInt(Integer.java:510)
at com.ibm.db2.jcc.c.ad.<init>(ad.java:80)
at com.ibm.db2.jcc.b.f.<init>(f.java:55)
at com.ibm.db2.jcc.b.b.ib(b.java:1760)
at com.ibm.db2.jcc.c.p.a(p.java:2490)
at com.ibm.db2.jcc.b.b.a(b.java:470)
at com.ibm.db2.jcc.b.b.<init>(b.java:264)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:163)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:308)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 12 more
我该如何调试它?
"A" 不是数字 您可能试图将字符串值插入到只允许数字的变量或数组中,请确保正确声明了变量和数组。如果您将注意力集中在您正在尝试的错误中,请尝试将字符串值转换为整数。希望你能在我的帮助下解决你的错误度过美好的一天
我认为,问题出在您传递 DBCP 连接池值的地方 - 最小计数、最大计数等。您传递了 "A" 而不是整数。
请检查您提供数据库连接参数的 spring 上下文文件或属性文件。
我找到了解决方案,它的原因是 db2jcc.jar 对于 db2 版本来说太旧了。我在这里找到了解决方案并设法修复它。