将 jgit 添加为 gradle 依赖项可防止我的主要 class 成为加载程序

Adding jgit as a gradle dependency prevent my main class from being loader

2 小时前,我正在做一个需要 jgit 的 java (gradle) 项目。我在我的 build.gradle、运行 ./gradlew 构建中添加了它,并尝试 java -jar 构建输出。 它不再工作了,但删除依赖项使其再次工作。请注意,它编译没有错误。 这是我的 build.gradle 如果它可以帮助。 https://gist.github.com/Fungie2134/cb81cd1bd7d767d4d1f5d6317e71665d

您可能缺少 Maven Central 的存储库配置:

repositories {
    jcenter()

    // add this one:
    mavenCentral()

    maven { url "https://jitpack.io" }
}

请添加更多详细信息(相关错误日志),以防这不能回答问题。

我找到问题了。我制作脂肪罐的方式是错误的。使用这个

configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }

这种类型的库恰好阻止了 .jar 的正确创建。解决方案是使用 Shadow 。现在 jar 创建由 ./gradlew shadowJar 完成,jar 被命名为 Launcher-all.jar