【问题标题】:Jcabi Github ExceptionInInitializerErrorJcabi Github ExceptionInInitializerError
【发布时间】:2017-03-31 19:55:09
【问题描述】:

我目前正在开发一个 Bukkit 插件,并尝试实现从 github 获取配置文件。我正在尝试为此使用 JCabi-Github。我已经实现并运行了该库,但是每当我使用它时,它都会产生错误。我尝试使用此代码:

Github git = new RtGitHub(user, pass); 
  1. 不会出现任何编译时错误

  2. 并且遵循Javadoc应该是正确的

但是当它运行时,它会创建一个java.lang.ExceptionInInitializerError

我该如何解决这个问题?

【问题讨论】:

  • 你能发布堆栈跟踪吗?

标签: java git exception initializer jcabi


【解决方案1】:

检查您如何通过 JCabi-GitHub 使用您的程序。
issue 1270

恐怕“通过 Eclipse 编译”会破坏 JAR 文件的结构。
尝试使用 Maven 打包。

【讨论】:

  • 怎么做,因为我没用过maven...?
  • @Human 如果有一个 pom.xml,这足以让您将其作为 Maven 项目导入 Eclipse。但如果没有,发布(编辑您的问题)堆栈跟踪会有所帮助。
  • hastebin.com/natirasimu.xml 这是我的 pom.xml 文件,这个 hastebin.com/tuqukacasu.sql 是它给我的错误,只是不要介意 bukkit 相关的东西,我的项目中有 jcabi jar 中的所有文件
  • 尝试克隆 github.com/jcabi/jcabi-github 并执行 mvn 全新安装。然后回到你的项目,再次编译,将 jcabi-github 依赖从 0.23 更改为 1.20.1
  • 再说一次,我从来没有使用过 maven,所以你能解释一下 mvn clean install 是什么
【解决方案2】:

问题不仅在于“通过 Eclipse 编译”。库中有一个错误:它从其 Manifest.MF 中读取一些属性,例如,当您将应用程序打包到 .war 中时,这可能会出现问题。

有一个开放的票可以改变这个机制;在那之前,最好的解决办法是:

1) 使用 Maven 构建和打包您的应用

2) 使用 maven-assembly-plugin 将所需的值硬编码到最终工件的 Manifest.MF 中。

请看这里:https://github.com/jcabi/jcabi-github/issues/1198#issuecomment-225122003

【讨论】:

    猜你喜欢
    • 2016-08-20
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 2017-11-17
    相关资源
    最近更新 更多