当前位置:  开发笔记 > 编程语言 > 正文

添加clojure依赖项并运行lein uberjar会导致java.lang.IllegalAccessError

如何解决《添加clojure依赖项并运行leinuberjar会导致java.lang.IllegalAccessError》经验,为你挑选了0个好方法。

我是一名具有编写PHP,python和ruby经验的新手工程师.我正在努力为一个用clojure编写的项目做出贡献.我正在尝试向项目添加库,但在添加库并运行后lein uberjar,我收到错误.我想知道它的含义以及是否可以推荐一种方法来排除故障.预先感谢您的帮助!

我想要实现 的目标在我的项目中包含uap-clj库并将项目编译为jar文件.

我写的内容 我已经将库添加为依赖项列表中的倒数第二项.

  :dependencies [[lots-of-dependencies]
                 [uap-clj "1.1.1"] ; user agent parser
                 [another-dependency]] 

我跑什么雷音 根据GitHub上的说明,救了我的变化后project.clj,我跑lein deps那么lein clean && lein uberjar.

发生了什么 更新并保存文件后,运行该命令会在长堆栈跟踪之前出现以下错误:

java.lang.IllegalAccessError: tried to access method clojure.lang.RT.classForNameNonLoading(Ljava/lang/String;)Ljava/lang/Class; from class clj_yaml.core$loading__5340__auto____29, compiling:(flexmaster.clj:1:1)

我尝试了什么 我想测试我是否在添加库时出错了.我从头开始创建了一个新的clojure项目并使用lein deps然后创建了一个jarfile lein uberjar.接下来,我将uap-clj添加到我的新项目中的:dependencies,保存了project.clj,lein deps然后lein uberjar再次执行.我能够成功创建一个jar文件,所以我相信我正在正确地添加库.

我想不出包含另一个依赖项的行为会阻止我创建jar文件的另一个原因.如果你能想到我应该根据我提供的信息检查一下,那对我非常有帮助.谢谢!

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有