Java错误:错误的源文件:文件不包含类
Java错误:错误的源文件:文件不包含类,java,Java,QueryFeatureExtract.java的目录如下 gen-java/ └── query_feature └── QueryFeatureExtract.java 使用QueryFeatureExtract的java文件ThriftClient.java与gen java位于同一文件夹中,我想用 javac -classpath libthrift-0.9.1.jar:slf4j.jar -sourcepath gen-java/query_feature/ ThriftCl
QueryFeatureExtract.java
的目录如下
gen-java/
└── query_feature
└── QueryFeatureExtract.java
使用QueryFeatureExtract
的java文件ThriftClient.java
与gen java
位于同一文件夹中,我想用
javac -classpath libthrift-0.9.1.jar:slf4j.jar -sourcepath gen-java/query_feature/ ThriftClient.java
然后错误显示出来
ThriftClient.java:16: error: cannot access QueryFeatureExtract
QueryFeatureExtract.Client client = new QueryFeatureExtract.Client(protocol);
^
bad source file: gen-java/query_feature/QueryFeatureExtract.java
file does not contain class QueryFeatureExtract
Please remove or make sure it appears in the correct subdirectory of the sourcepath.
1 error
看看这个,你只是在编译ThriftClient,试试这个:
javac -classpath libthrift-0.9.1.jar:slf4j.jar -sourcepath gen-java/query_feature/ *.java
假设您的文件如下所示:
./
└── ThriftClient.java
└── gen-java/
| └── query_feature/
| └── QueryFeatureExtract.java
└── libthrift-0.9.1.jar
└── slf4j.jar
而QueryFeatureExtract
以以下包声明开始:
package query_feature;
您应该使用以下命令编译ThriftClient.java
:
javac -classpath .:libthrift-0.9.1.jar:slf4j.jar:gen-java ThriftClient.java
您可以使用-classpath
指定文件夹,而不需要使用-sourcepath
。如果当前文件夹中有其他java文件,请不要忘记将
添加到类路径中。为了避免错误,因为您有一个包含其他源路径的源路径,我建议将ThriftClient.java
移动到名为src
的文件夹中
如果不起作用,请检查ThriftClient
是否正在使用正确的导入导入QueryFeatureExtract
:
import query_feature.QueryFeatureExtract;
@danche注意到了屏幕上的星星(*.java)end@danche我以为你的问题是QueryFeatureExtract.java?你不想也编译这个类吗?是的,但编译后还是一样的…当我把ThriftClient.java放在gen java/query_功能下时,它会导致包QueryFeatureExtract不存在错误。。非常困惑…@danche my bad我以为Thrift和Query类在同一个包中QueryFeatureExtract的包声明是什么?您不应该使用-sourcepath gen java/而不是gen java/query_feature/?@Raphaël使用此选项,它将显示错误包QueryFeatureExtract不存在。。QueryFeatureExtract的包声明是“包查询功能”;谢谢!它起作用了!但另一个错误是“错误:发生了JNI错误,请检查您的安装并重试”。这与类QueRealSudioExtudio?JNI相关,意味着java代码正在调用C或C++库。库可能已崩溃,或者在启动应用程序时出现路径问题。因为我现在不知道哪个文件正在使用JNI,所以我无法告诉您它是否与QueryFeatureExtract相关。