2011-01-06 8 views
4

소스 (0.9.1.2)를 다운로드하고 먼저 빌드를 시도한 후 명령 줄에서 실행 한 다음 IDE에서 시도했습니다.소스에서 C3p0을 빌드 할 때 오류가 발생합니다.

문제는 build.properties 파일에 클래스 경로를 설정하는 것입니다. 여기에 현재 클래스 경로가 있습니다. 물론, 여기 여러 가지를 시도했지만, 모두 같은 결과를 얻을 : 여기

j2ee.classpath=C:/glassfishv3/glassfish/lib/j2ee.jar 
and tried: 
j2ee.jar.base.dir=C:/glassfishv3/glassfish/lib 
etc. 

오류는 내가 얻을 :

init-codegen: 
[javac] Compiling 6 source files to C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build\classes 

beangen: 
    [echo] Some warnings are expected here. Don't worry about them. 

newproxygen: 

codegen: 

compile-common: 
    [javac] Compiling 222 source files to C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build\classes 
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build\codegen\com\mchange\v2\c3p0\impl\NewProxyConnection.jav 
a:1339: unreported exception java.sql.SQLException; must be caught or declared to be thrown 
    [javac]        throw SqlUtils.toSQLException("You can't operate on a closed Connection!!!", exc 
); 
    [javac]       ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build\codegen\com\mchange\v2\c3p0\impl\NewProxyConnection.jav 
a:1347: unreported exception java.sql.SQLException; must be caught or declared to be thrown 
    [javac]        throw parentPooledConnection.handleThrowable(exc); 
    [javac]       ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build\codegen\com\mchange\v2\c3p0\impl\NewProxyConnection.jav 
a:1349: unreported exception java.sql.SQLException; must be caught or declared to be thrown 
    [javac]      else throw SqlUtils.toSQLException(exc); 
    [javac]      ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build\codegen\com\mchange\v2\c3p0\impl\NewProxyConnection.jav 
a:1365: unreported exception java.sql.SQLException; must be caught or declared to be thrown 
    [javac]        throw SqlUtils.toSQLException("You can't operate on a closed Connection!!!", exc 
); 
    [javac]       ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build\codegen\com\mchange\v2\c3p0\impl\NewProxyConnection.jav 
a:1373: unreported exception java.sql.SQLException; must be caught or declared to be thrown 
    [javac]        throw parentPooledConnection.handleThrowable(exc); 
    [javac]       ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build\codegen\com\mchange\v2\c3p0\impl\NewProxyConnection.jav 
a:1375: unreported exception java.sql.SQLException; must be caught or declared to be thrown 
    [javac]      else throw SqlUtils.toSQLException(exc); 
    [javac]      ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\NewPooledConnection.java 
:38: com.mchange.v2.c3p0.impl.NewPooledConnection is not abstract and does not override abstract method removeStatementE 
ventListener(javax.sql.StatementEventListener) in javax.sql.PooledConnection 
    [javac] public final class NewPooledConnection extends AbstractC3P0PooledConnection{ 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\ComboPooledDataSource.java:42 
: com.mchange.v2.c3p0.ComboPooledDataSource is not abstract and does not override abstract method isWrapperFor(java.lang 
.Class) in java.sql.Wrapper 
    [javac] public final class ComboPooledDataSource extends AbstractPoolBackedDataSource implements PooledDataSource, S 
erializable, Referenceable 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\DriverManagerDataSource.java: 
45: com.mchange.v2.c3p0.DriverManagerDataSource is not abstract and does not override abstract method isWrapperFor(java. 
lang.Class) in java.sql.Wrapper 
    [javac] public final class DriverManagerDataSource extends DriverManagerDataSourceBase implements DataSource 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\JndiRefForwardingDataSource.j 
ava:47: com.mchange.v2.c3p0.JndiRefForwardingDataSource is not abstract and does not override abstract method isWrapperF 
or(java.lang.Class) in java.sql.Wrapper 
    [javac] final class JndiRefForwardingDataSource extends JndiRefDataSourceBase implements DataSource 
    [javac]  ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\PoolBackedDataSource.java:28: 
com.mchange.v2.c3p0.PoolBackedDataSource is not abstract and does not override abstract method isWrapperFor(java.lang.C 
lass) in java.sql.Wrapper 
    [javac] public final class PoolBackedDataSource extends AbstractPoolBackedDataSource implements PooledDataSource 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.jav 
a:39: com.mchange.v2.c3p0.impl.C3P0PooledConnection is not abstract and does not override abstract method removeStatemen 
tEventListener(javax.sql.StatementEventListener) in javax.sql.PooledConnection 
    [javac] public final class C3P0PooledConnection extends AbstractC3P0PooledConnection 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.jav 
a:503: com.mchange.v2.c3p0.impl.C3P0PooledConnection.StatementProxyingSetManagedResultSet is not abstract and does not o 
verride abstract method updateNClob(java.lang.String,java.io.Reader) in java.sql.ResultSet 
    [javac]  private static class StatementProxyingSetManagedResultSet extends SetManagedResultSet 
    [javac]     ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.jav 
a:618: ProxyCallableStatement is not abstract and does not override abstract method setNClob(java.lang.String,java.io.Re 
ader) in java.sql.CallableStatement 
    [javac]    class ProxyCallableStatement extends FilterCallableStatement implements C3P0ProxyStatement 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.jav 
a:655: ProxyPreparedStatement is not abstract and does not override abstract method setNClob(int,java.io.Reader) in java 
.sql.PreparedStatement 
    [javac]    class ProxyPreparedStatement extends FilterPreparedStatement implements C3P0ProxyStatement 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.jav 
a:692: ProxyStatement is not abstract and does not override abstract method isPoolable() in java.sql.Statement 
    [javac]    class ProxyStatement extends FilterStatement implements C3P0ProxyStatement 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\NullStatementSetManagedR 
esultSet.java:37: com.mchange.v2.c3p0.impl.NullStatementSetManagedResultSet is not abstract and does not override abstra 
ct method updateNClob(java.lang.String,java.io.Reader) in java.sql.ResultSet 
    [javac] final class NullStatementSetManagedResultSet extends SetManagedResultSet 
    [javac]  ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\SetManagedDatabaseMetaDa 
ta.java:30: com.mchange.v2.c3p0.impl.SetManagedDatabaseMetaData is not abstract and does not override abstract method ge 
tFunctionColumns(java.lang.String,java.lang.String,java.lang.String,java.lang.String) in java.sql.DatabaseMetaData 
    [javac] final class SetManagedDatabaseMetaData extends FilterDatabaseMetaData 
    [javac]  ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\SnatchFromSetResultSet.j 
ava:30: com.mchange.v2.c3p0.impl.SnatchFromSetResultSet is not abstract and does not override abstract method updateNClo 
b(java.lang.String,java.io.Reader) in java.sql.ResultSet 
    [javac] final class SnatchFromSetResultSet extends FilterResultSet 
    [javac]  ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\test\FreezableDriverManagerDa 
taSource.java:49: com.mchange.v2.c3p0.test.FreezableDriverManagerDataSource is not abstract and does not override abstra 
ct method isWrapperFor(java.lang.Class) in java.sql.Wrapper 
    [javac] public final class FreezableDriverManagerDataSource extends DriverManagerDataSourceBase implements DataSourc 
e 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\util\CloseReportingConnection 
Wrapper.java:29: com.mchange.v2.c3p0.util.CloseReportingConnectionWrapper is not abstract and does not override abstract 
method createStruct(java.lang.String,java.lang.Object[]) in java.sql.Connection 
    [javac] public class CloseReportingConnectionWrapper extends FilterConnection 
    [javac]  ^
    [javac] Note: Some input files use or override a deprecated API. 
    [javac] Note: Recompile with -Xlint:deprecation for details. 
    [javac] 21 errors 

BUILD FAILED 
C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build.xml:256: Compile failed; see the compiler error output for details. 

편집 : 여기 내가 얻을 오류는 Java 5로 빌드하기 :

compile-common: 
    [javac] Compiling 226 source files to C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build\classes 
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\NewPooledConnection.jav 
:38: com.mchange.v2.c3p0.impl.NewPooledConnection is not abstract and does not override abstract method removeStatement 
ventListener(javax.sql.StatementEventListener) in javax.sql.PooledConnection 
    [javac] public final class NewPooledConnection extends AbstractC3P0PooledConnection{ 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\ComboPooledDataSource.java:4 
: com.mchange.v2.c3p0.ComboPooledDataSource is not abstract and does not override abstract method isWrapperFor(java.lan 
.Class) in java.sql.Wrapper 
    [javac] public final class ComboPooledDataSource extends AbstractPoolBackedDataSource implements PooledDataSource, 
erializable, Referenceable 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\DriverManagerDataSource.java 
45: com.mchange.v2.c3p0.DriverManagerDataSource is not abstract and does not override abstract method isWrapperFor(java 
lang.Class) in java.sql.Wrapper 
    [javac] public final class DriverManagerDataSource extends DriverManagerDataSourceBase implements DataSource 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\JndiRefForwardingDataSource. 
ava:47: com.mchange.v2.c3p0.JndiRefForwardingDataSource is not abstract and does not override abstract method isWrapper 
or(java.lang.Class) in java.sql.Wrapper 
    [javac] final class JndiRefForwardingDataSource extends JndiRefDataSourceBase implements DataSource 
    [javac]  ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\PoolBackedDataSource.java:28 
com.mchange.v2.c3p0.PoolBackedDataSource is not abstract and does not override abstract method isWrapperFor(java.lang. 
lass) in java.sql.Wrapper 
    [javac] public final class PoolBackedDataSource extends AbstractPoolBackedDataSource implements PooledDataSource 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.ja 
a:39: com.mchange.v2.c3p0.impl.C3P0PooledConnection is not abstract and does not override abstract method removeStateme 
tEventListener(javax.sql.StatementEventListener) in javax.sql.PooledConnection 
    [javac] public final class C3P0PooledConnection extends AbstractC3P0PooledConnection 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.ja 
a:503: com.mchange.v2.c3p0.impl.C3P0PooledConnection.StatementProxyingSetManagedResultSet is not abstract and does not 
verride abstract method updateNClob(java.lang.String,java.io.Reader) in java.sql.ResultSet 
    [javac]  private static class StatementProxyingSetManagedResultSet extends SetManagedResultSet 
    [javac]     ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.ja 
a:618: ProxyCallableStatement is not abstract and does not override abstract method setNClob(java.lang.String,java.io.R 
ader) in java.sql.CallableStatement 
    [javac]    class ProxyCallableStatement extends FilterCallableStatement implements C3P0ProxyStatement 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.ja 
a:655: ProxyPreparedStatement is not abstract and does not override abstract method setNClob(int,java.io.Reader) in jav 
.sql.PreparedStatement 
    [javac]    class ProxyPreparedStatement extends FilterPreparedStatement implements C3P0ProxyStatement 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\C3P0PooledConnection.ja 
a:692: ProxyStatement is not abstract and does not override abstract method isPoolable() in java.sql.Statement 
    [javac]    class ProxyStatement extends FilterStatement implements C3P0ProxyStatement 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\NullStatementSetManaged 
esultSet.java:37: com.mchange.v2.c3p0.impl.NullStatementSetManagedResultSet is not abstract and does not override abstr 
ct method updateNClob(java.lang.String,java.io.Reader) in java.sql.ResultSet 
    [javac] final class NullStatementSetManagedResultSet extends SetManagedResultSet 
    [javac]  ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\SetManagedDatabaseMetaD 
ta.java:30: com.mchange.v2.c3p0.impl.SetManagedDatabaseMetaData is not abstract and does not override abstract method g 
tFunctionColumns(java.lang.String,java.lang.String,java.lang.String,java.lang.String) in java.sql.DatabaseMetaData 
    [javac] final class SetManagedDatabaseMetaData extends FilterDatabaseMetaData 
    [javac]  ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\impl\SnatchFromSetResultSet. 
ava:30: com.mchange.v2.c3p0.impl.SnatchFromSetResultSet is not abstract and does not override abstract method updateNCl 
b(java.lang.String,java.io.Reader) in java.sql.ResultSet 
    [javac] final class SnatchFromSetResultSet extends FilterResultSet 
    [javac]  ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\test\FreezableDriverManagerD 
taSource.java:49: com.mchange.v2.c3p0.test.FreezableDriverManagerDataSource is not abstract and does not override abstr 
ct method isWrapperFor(java.lang.Class) in java.sql.Wrapper 
    [javac] public final class FreezableDriverManagerDataSource extends DriverManagerDataSourceBase implements DataSour 
e 
    [javac]   ^
    [javac] C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\src\classes\com\mchange\v2\c3p0\util\CloseReportingConnectio 
Wrapper.java:29: com.mchange.v2.c3p0.util.CloseReportingConnectionWrapper is not abstract and does not override abstrac 
method createStruct(java.lang.String,java.lang.Object[]) in java.sql.Connection 
    [javac] public class CloseReportingConnectionWrapper extends FilterConnection 
    [javac]  ^
    [javac] Note: Some input files use or override a deprecated API. 
    [javac] Note: Recompile with -Xlint:deprecation for details. 
    [javac] 15 errors 

BUILD FAILED 
C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src\build.xml:256: Compile failed; see the compiler error output for details 


Total time: 15 seconds 
C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src>java -version 
java version "1.5.0_22" 
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03) 
Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing) 

C:\downloads\c3p0-0.9.1.2.src\c3p0-0.9.1.2.src> 

답변

2

Java6로 빌드하려고하는 것처럼 보이지만 작동하지 않습니다. 0.9.1.2 버전의 c3p0은 Java5에서만 작동합니다. 당신은 아마 당신의 폴더를 삭제하고 다시 시작하는 것이 좋습니다 그래서

당신은

불행하게도 JDK1.5로 다시 구축을 시도해야합니다은 "개미 깨끗한"목표는 100 %를 정리하지 않습니다 .

왜 어쨌든 소스에서 빌드하려고합니까? 바이너리 다운로드를 사용할 수 있으며 혼자서 복잡한 일을하는 것처럼 보입니다.

+0

예, 연결 풀링 및 개체 풀링에 대한 내 이해를 향상시키기 위해 스스로 복잡한 작업을하고 있습니다. – mcgyver5

+0

원래 질문을 편집하여 java 5로 빌드 할 때 발생하는 오류를 수정했습니다. – mcgyver5

+1

오류 메시지가 나타나면 Java 6에서 여전히 개미가 컴파일되고 있음을 제안합니다. Ant는 다양한 환경 변수를 사용하여 사용할 JDK를 선택하므로 "java -version "을 사용하면 Ant가 1.5 JDK를 사용하고 있는지 확인할 수 없습니다. "ant -verbose init"을 실행하고 4 번째 출력 행을 검사해볼 수 있습니까? * "Detected Java version : 1.5 in : ..."라고해야하지만 "감지 된 Java 버전 : 1.6 in : ..." – Tim

관련 문제