Java 对象测试不是包org.elasticsearch的成员
我试图使用包Java 对象测试不是包org.elasticsearch的成员,java,scala,sbt,elasticsearch-5,Java,Scala,Sbt,elasticsearch 5,我试图使用包org.elasticsearch.test.estestestcase中的classESTestCase 我正在关注此链接-> 我使用的是sbt项目,这里是库依赖项,是build.sbt文件 "org.elasticsearch" % "elasticsearch" % "5.6.0", "org.elasticsearch.client" % "transport" % "5.6.0", "org.apache.lucene" % "lucene-
org.elasticsearch.test.estestestcase
中的classESTestCase
我正在关注此链接->
我使用的是sbt项目,这里是库依赖项,是build.sbt文件
"org.elasticsearch" % "elasticsearch" % "5.6.0",
"org.elasticsearch.client" % "transport" % "5.6.0",
"org.apache.lucene" % "lucene-expressions" % "6.6.0",
"org.apache.logging.log4j" % "log4j-core" % "2.9.0",
"org.apache.lucene" % "lucene-test-framework" % "6.6.0" % "test",
"org.elasticsearch.test" % "framework" % "5.6.0" % "test",
当我尝试导入这两行时
import org.elasticsearch.test.ESTestCase
import org.elasticsearch.transport.MockTransportClient
eclipse没有显示任何编译时错误,但在sbt compile
[
我正在使用ElasticSearch 5.6.0,请帮助解决问题的原因。问题在依赖项中的%测试中。
如果依赖项以“%”“test”
结尾,它将仅为您的测试编译
因此,通常假设您将在测试模块中使用org.elasticsearch.test.ESTestCase
和其他测试内容(src/test/scala或类似内容)
可能您正在将弹性搜索测试依赖项导入到应用程序(src/main…)中,这就是为什么会出现错误
如果您在tests模块(src/test/scala)中导入它们,它就会工作
但是如果您真的需要将其导入到应用程序代码中,那么
从依赖项中删除%“test”
...
"org.apache.lucene" % "lucene-test-framework" % "6.6.0",
"org.elasticsearch.test" % "framework" % "5.6.0"
...
以下是一份sbt文件,对其进行了解释:
(搜索“每配置依赖项”)
...
"org.apache.lucene" % "lucene-test-framework" % "6.6.0",
"org.elasticsearch.test" % "framework" % "5.6.0"
...