QueryFeatureExtract.java
的目录如下
gen-java/
└── query_feature
└── QueryFeatureExtract.java
并且使用QueryFeatureExtract
的java文件ThriftClient.java
与gen-java
位于同一文件夹中,我想编译Client.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.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;
关于Java错误: bad source file: file does not contain class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48497489/