java - 依赖项(Jar 文件)中的类未解析,导致编译错误

标签 java gradle

我有一个 gradle 项目,目前运行良好。我现在需要添加一个 Java 库(打包为 Jar)作为依赖项并使用 Jar 文件中定义的类。如果我在 build.gradle 中使用 flatDir 作为存储库,则效果很好,

存储库{ mavenCentral() 平面目录 { 目录 '../java_library/build/libs' } }

然后在依赖项中,

编译名称:“java_library-0.0.1”

然后我可以轻松地将类从库导入到我自己的代码中,构建成功,一切正常。

但是,我无法在构建服务器上执行此操作,因此我需要从我们组织的内部 Maven 存储库中获取它,而不是从本地工作区引用 jar。

maven { 网址'http://customer_repo:0000/maven' }

然后在依赖项中,

编译('our.company.groupid:java_library:0.0.1')

我已经验证该库已发布到本地存储库,并且 gradle 并没有说它无法获取依赖项(在 Jar 发布到本地存储库之前它给出了一个这样的错误)。

但是现在,当我构建项目时,它给出了编译错误,说它没有找到指向从 Jar 库导入的类的符号。 IDE (IntelliJ) 中也显示了相同的错误,该错误也与 flatDir 一起正常工作。

有什么明显我遗漏的东西吗?

已解决: 是的,我遗漏了一件明显的事情。在JAR库项目中,build.gradle有以下内容,

发布{ ... 出版物{ 工件 ID = 'java_library' } }

我失踪了

来自 Components.java

我添加后,

发布{ ... 出版物{ 工件 ID = 'java_library' 来自组件.java } }

并再次发布该库,我能够将其成功导入到其他项目中。

最佳答案

url 'http://customer_repo:0000/maven'

首先,在浏览器中打开此 URL,并确保您可以通过单击链接访问您的库(即 our -> company -> groupid -> java_library -> 0.0.1)

其次,下载库并检查它是否确实包含丢失的类文件。可能您上传了错误的文件,该文件不是库。

关于java - 依赖项(Jar 文件)中的类未解析,导致编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55768858/

相关文章:

spring-mvc - Spring MVC 和 Gradle(多模块): how refer the/WEB-INF/content how a dependency for a module for Testing

java - grgit NoClassDefFoundError

java - sql - 当我得到 2 个或更多具有相同值的值时,仅更新 1 个(查询找到的第一个)值的方法?

android - com.android.tools.build :aapt2:4. 0.0-alpha09-6051327 没有缓存版本可用于离线模式。安卓 4.0 金丝雀 9

java - 组织项目库

android - 在Android Studio中导入Eclipse项目。 Gradle错误

javascript - 在 Liferay 7.2 中实现自动保存网页内容为草稿

java - 如何在没有接收到数据的情况下检查是否有来自 TCP 套接字的传入数据?

java - 用参数/标记替换正则表达式字符串

java - Facebook API 如何等待 graphRequestexecuteAsync 完成