【问题标题】:Maven build fails when building Geonetwork构建 Geonetwork 时 Maven 构建失败
【发布时间】:2020-11-11 12:57:28
【问题描述】:

我正在尝试使用 Maven 构建 Geonetwork。 源代码来自这里:https://github.com/geonetwork/core-geonetwork/tree/3.10.x

我按照本教程构建 Geonetwork:https://geonetwork-opensource.org/manuals/trunk/eng/users/tutorials/introduction/deployment/build.html

但是当我构建它时,出现了这些错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project common: Compilation failure: Compilation failure:
[ERROR] /C:/Users/mn/Downloads/core_geonetwork/core-geonetwork-3.10.x/common/src/main/java/org/fao/geonet/utils/GeonetHttpRequestFactory.java:[59,24] cannot find symbol
[ERROR]   symbol:   class PreDestroy
[ERROR]   location: package javax.annotation
[ERROR] /C:/Users/mn/Downloads/core_geonetwork/core-geonetwork-3.10.x/common/src/main/java/org/fao/geonet/utils/Xml.java:[70,22] package javax.xml.bind does not exist
[ERROR] /C:/Users/mn/Downloads/core_geonetwork/core-geonetwork-3.10.x/common/src/main/java/org/fao/geonet/utils/Xml.java:[71,22] package javax.xml.bind does not exist
[ERROR] /C:/Users/mn/Downloads/core_geonetwork/core-geonetwork-3.10.x/common/src/main/java/org/fao/geonet/utils/GeonetHttpRequestFactory.java:[72,6] cannot find symbol
[ERROR]   symbol:   class PreDestroy
[ERROR]   location: class org.fao.geonet.utils.GeonetHttpRequestFactory
[ERROR] /C:/Users/mn/Downloads/core_geonetwork/core-geonetwork-3.10.x/common/src/main/java/org/fao/geonet/utils/Xml.java:[376,9] cannot find symbol
[ERROR]   symbol:   class JAXBContext
[ERROR]   location: class org.fao.geonet.utils.Xml
[ERROR] /C:/Users/mn/Downloads/core_geonetwork/core-geonetwork-3.10.x/common/src/main/java/org/fao/geonet/utils/Xml.java:[376,35] cannot find symbol
[ERROR]   symbol:   variable JAXBContext
[ERROR]   location: class org.fao.geonet.utils.Xml
[ERROR] /C:/Users/mn/Downloads/core_geonetwork/core-geonetwork-3.10.x/common/src/main/java/org/fao/geonet/utils/Xml.java:[377,9] cannot find symbol
[ERROR]   symbol:   class Unmarshaller
[ERROR]   location: class org.fao.geonet.utils.Xml
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :common

所以 javax.annotation 包似乎有些东西。我在这里尝试了这个提示:https://stackoverflow.com/a/63268748/5621619 但它没有帮助。我也尝试根据这个答案替换插件存储库:https://stackoverflow.com/a/53853896/5621619 但它没有帮助。

我的Java版本如下:

java version "15.0.1" 2020-10-20
Java(TM) SE Runtime Environment (build 15.0.1+9-18)
Java HotSpot(TM) 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)

我的Maven版本如下:

Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: C:\opt\apache-maven-3.6.3\bin\..
Java version: 15.0.1, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-15.0.1
Default locale: de_CH, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

我怎样才能让这个构建过程运行?

【问题讨论】:

    标签: java maven build


    【解决方案1】:

    此版本的 GeoNetwork 需要使用 Java 8,这就是您收到编译错误的原因。您需要安装 Java 8,然后将 JAVA_HOME 配置为 Java 8。

    【讨论】:

      【解决方案2】:

      @Mohamed Jaafar 是正确的,因为在按照https://geonetwork-opensource.org/downloads.html 的说明构建 Geonetwork 时需要 Java 8。我遇到了同样的问题,并且能够通过执行来解决

      export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
      

      参考:What is the installation path of AdoptOpenJDK 8.232 in appVeyor in the macos image?

      如果你还没有 Java 8,brew 可以让安装变得简单,只需要你运行

      brew install --cask adoptopenjdk8
      

      参考:How to install Java 8 on Mac

      【讨论】:

        猜你喜欢
        • 2019-05-19
        • 1970-01-01
        • 1970-01-01
        • 2010-11-26
        • 1970-01-01
        • 2021-07-02
        • 2014-07-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多