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/

相关文章:

java - 关于数组初始化

java - 如何在 `gradle.build`中强制使用版本的特定jar?

gradle - 将命令行参数传递给运行任务

android - 运行单元测试时没有可用资源

java - 按日期降序排序列表 - groovy madness

java - 如何使用正则表达式捕获前面有两个或三个或四个字符的 11 位数字,字符可以是点

java - 工具栏汉堡包干扰后退箭头按钮

java - 是否有任何 Java 代码不能被 Groovy 编译?

intellij-idea - 如何创建一个使用 Gradle 构建的 Kotlin 项目?

macos - 在 Mac OS X 上安装/升级 gradle