Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未提供源文件的javac编译器错误_Java_Jaybird - Fatal编程技术网

未提供源文件的javac编译器错误

未提供源文件的javac编译器错误,java,jaybird,Java,Jaybird,当我运行javac-d类myfiles…时,我遇到了这个错误。奇怪的是,我在任何文件夹中都没有PooledPreparedStatementHandler.java,在任何源文件中也没有PooledPreparedStatementHandler子字符串。我找到的唯一引用是jaybird jar中的PooledPreparedStatementHandler.class(在我的类路径中使用和需要) 以下是错误: org/firebirdsql/pool/PooledPreparedStateme

当我运行
javac-d类myfiles…
时,我遇到了这个错误。奇怪的是,我在任何文件夹中都没有PooledPreparedStatementHandler.java,在任何源文件中也没有PooledPreparedStatementHandler子字符串。我找到的唯一引用是jaybird jar中的PooledPreparedStatementHandler.class(在我的类路径中使用和需要)

以下是错误:

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

这个错误的来源是什么?我使用的是oracle javac 1.6.026,它看起来像是PooledPreparedStatementHandler试图导入org.apache.xalan.lib.sql.XConnection,所以您依赖它。由于您的构建类路径中没有这些内容,因此会出现错误。

看起来您的项目中有一个修改过的Jaybird源代码副本,该副本与其他代码一起编译。原始的Jaybird 2.1.6版本(subversion中指向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.*包中)


在构建时,您还可以尝试在类路径中包含。如果目标文件夹中包含了
PooledPreparedStatementHandler
的副本,则源文件会以某种方式包含在您的生成中。

Mark实际上在注释中给了我答案。如果您想要分数标记,请将其移至答案。在此之前,JayBird将Xalan 2.3.1列为。我只需要将其包含在类路径中。

我认为您描述的是运行时依赖关系。代码使用jaybird类jar在eclipse中编译。Eclipse“Open Type”没有显示Apache的任何XConnection类。有趣的是,实际的Jaybird 2.1.6源代码没有引用这个类:我明白你的意思,所以我从Sourceforge获得了Jaybird-2.1.6JDK_1.5.zip,并在其中使用了Jaybird-full-2.1.6.jar。支票金额不同。同样的问题!我可能从maven存储库中获得了jar,谁知道,构建过程可能会改变一些方面。您必须注意,它引用的是代码中不存在的一行。实际上,它似乎正在尝试编译
PooledPreparedStatementHandler.java
,而不仅仅是使用Jaybird jar文件中的类。如果
find src/main/java-type f-name“*.java”
不包含任何Jaybird
.java
文件(即
org.firebirdsql.
包),您可能需要检查
find src/main/java-type f-name“*.java”的结果。是的,我检查了结果。。。所有我自己的代码。另外,这也是为什么我在源文件中使用egrep来尝试查找一些嵌入类的原因。如果目标文件夹中包含
PooledPreparedStatementHandler
的副本,则源文件会以某种方式包含在生成中。
find src/main/java -type f -name "*.java"| xargs javac -target 1.5 -d war/WEB-INF/classes