0

を実行すると、このエラーが発生しますjavac -d classes myfiles...。奇妙なことに、どのフォルダーにもPooledPreparedStatementHandler.javaがなく、ソースファイルにもPooledPreparedStatementHandlerサブ文字列がありません。私が見つけた唯一の参照は、jaybird jarのPooledPreparedStatementHandler.classでした(クラスパスで使用および必要)。

./lib/jaybird-full-2.1.6.jar (all class files, no java files)

エラーは次のとおりです。

org/firebirdsql/pool/PooledPreparedStatementHandler.java(org/firebirdsql/pool:PooledPreparedStatementHandler.java):32: package org.apache.xalan.lib.sql does not exist
import org.apache.xalan.lib.sql.XConnection;

これはコンパイルコマンドです:

find src/main/java -type f -name "*.java"| xargs javac -target 1.5 -d war/WEB-INF/classes

このエラーの原因は何ですか?oraclejavac1.6.0_26を使用しています

4

3 に答える 3

1

ソースコードからは、PooledPreparedStatementHandlerインポートしようとしているように見えるorg.apache.xalan.lib.sql.XConnectionので、それに依存しています。ビルドクラスパスにそれがないため、エラーが発生します。

于 2013-01-14T19:30:15.643 に答える
1

プロジェクト内に、残りのコードと一緒にコンパイルされたJaybirdソースの変更されたコピーがあるようです。元のJaybird2.1.6バージョンorg.firebirdsql.pool.PooledPreparedStatementHandler(GitHubの2.1.6タグへのリンク)はを参照していませんorg.apache.xalan.lib.sql.XConnection

PooledPreparedStatementHandler.java実際には、Jaybird jarファイルのクラスを使用するだけでなく、のバージョンをコンパイルしようとしているように見えます。find src/main/java -type f -name "*.java"結果にJaybird.javaファイル(つまり、org.firebirdsql。*パッケージ)が含まれているかどうかを確認することをお勧めします。

ビルド中にクラスパスにXalan-Jを含めることもできます。のコピーがPooledPreparedStatementHandler宛先フォルダーに含まれている場合、ソースファイルは何らかの形でビルドに含まれています。

于 2013-01-15T11:04:12.710 に答える
0

マークは実際にコメントで答えをくれました。ポイントマークが必要な場合は、回答に移動します。それまでは、JayBirdはXalan2.3.1を依存関係としてリストしています。それをクラスパスに含める必要がありました。

于 2013-06-10T19:08:15.837 に答える