【问题标题】:maven compile failure. cannot accessmaven 编译失败。无法访问
【发布时间】:2018-01-17 17:05:01
【问题描述】:

我正在访问一个类,它是 Elasticsearch 服务器的一部分。 当我在 Eclipse 中编译代码时,我没有问题。在 Maven 中执行此操作时出现错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project flume-ng-elasticsearch-sink: Compilation failure
[ERROR] \Eclipse\Workspace\flume\flume-ng-sinks\flume-ng-elasticsearch-sink\src\main\java\org\apache\flume\sink\elasticsearch\client\ElasticSearchTransportClient.java:[202,19] error: cannot access Level

我的代码是:

Settings.Builder settingsBuilder = Settings.builder()
    .put("cluster.name", clusterName);

属性“Level”是在 Elasticsearch 项目的一个类中定义的。 代码可用here

任何想法,可能是错误的?

谢谢,

赫尔穆特

【问题讨论】:

  • 您使用的是什么版本?另外,你编辑过 ElasticSearchTransportClient 吗?
  • Java 1.8_144 ElasticSearch 6.1.0 是的,我已经编辑了 ElasticSearchTransportClient。它需要重写才能与 6.1 一起使用。当我用 Eclipse 编译它并执行“mvn install”时,我有一个使用 ES 6.1 的 Flume。但是,当我执行“mvn clean compile”或“mvn clean install”,以便 maven 进行编译时,我得到了上述错误。看起来我缺少对 Log4J 的引用,但在 pom.xml 中找不到要添加的位置。

标签: java maven compiler-errors


【解决方案1】:

找到问题了。
在项目的 pom 文件中,对 Log4J 的依赖具有“测试”范围,因此它不适用于编译范围。 删除了范围测试,现在一切都很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 2017-12-02
    • 2018-11-22
    • 2013-08-17
    • 2013-08-02
    相关资源
    最近更新 更多