问题:
还是环境问题,体制不好害死人。新人入坑工程导入问题:
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project dj-user-server: Compilation failure
[ERROR] /D:/work1/dj-user-server_4-0-45_BRANCH/src/main/java/com/bj58/daojia/searchCluster/EsClient/EsClientFactory.java:[176,21] D:\work1\dj-user-server_4-0-45_BRANCH\src\main\java\com\bj58\daojia\searchCluster\EsClient\EsClientFactory.java:176: 无法访问 java.lang.AutoCloseable
[ERROR] 未找到 java.lang.AutoCloseable 的类文件
[ERROR] -> [Help 1]
其实看一下代码:
public void closeClient(Client esClient) {
if (esClient != null) {
esClient.close();
}
}
就是一个client.close,
解决:
百度吧,没有准确答案,Google一下,stackoverflow上有类似问题,他是直接使用报错,我现在maven编译打包报错,一样的东西。
还是jdk的问题。我本地的jdk是1.6版本。而这个
java.lang.AutoCloseable
是jdk1.7的文件。也就说是esclient的close应该也是实现了.AutoCloseable 接口。
org.elasticsearch.client.transport
Class TransportClient
java.lang.Object
org.elasticsearch.common.component.AbstractComponent
org.elasticsearch.client.support.AbstractClient
org.elasticsearch.client.transport.TransportClient
All Implemented Interfaces:
java.lang.AutoCloseable, Client, ElasticsearchClient, Releasable
好了,更换jdk1.7之后,maven编译就正常了。