在类中找不到另一个 jar 的库文件夹中引用一个 jar



我有一个构建基础.jar文件的成绩项目。此项目依赖于 gradle 文件中定义的第三方 jar 文件。

dependencies {
    compile('com.abc.something:something')
}

当构建任务创建 JAR 文件时,它会将"something.jar"放在 base.jar 文件内的 lib 文件夹中。我认为这对我来说没关系。

现在我有另一个名为"abc"的 gradle 项目,它依赖于我刚刚像这样创建的基本 jar

dependencies {
    compile('com.myworld:base:1.0.0')
}

我假设 abc 项目可以访问 base.jar 的 lib 文件夹中的 something.jar 文件。但由于某种原因,它没有。当我尝试访问某些东西中的类时,我不断收到"找不到类定义"错误.jar。我错过了什么吗?

要做的就是确保我有一个基础.jar用所有常见的依赖 jar 构建,只需将依赖项设置为 base.jar而不是其他 50 个 jar,即可由不同的其他服务使用。

请让我知道我如何实现这一目标。

这取决于您如何解决对 base.jar 的依赖关系。 你对依赖项进行编码的方式将导致 gradle 尝试从存储库中提取基本 jar - 可能是本地 Maven 存储库(?),它可能不包含带有外部依赖项的 base.jar 版本。 如果在同一工作区和父项目中有基础 jar,您应该能够替换

dependencies {
    compile('com.myworld:base:1.0.0')
}

dependencies {
    compile project(':base')
}

希望这将解决您的问题。

最新更新