QueryFeatureExtract.java
的目录就像
gen-java/
└── query_feature
└── QueryFeatureExtract.java
和使用ThriftClient.java
的java文件QueryFeatureExtract
与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
答案 0 :(得分:2)
假设您的文件是这样的:
./
└── 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;
答案 1 :(得分:0)
看看这个answer,你只是在编译ThriftClient,试试这个:
javac -classpath libthrift-0.9.1.jar:slf4j.jar -sourcepath gen-java/query_feature/ *.java