java - Micronaut - shadow fat-jar 插件不适用于公司 repo

标签 java gradle netty gradle-plugin micronaut

我正在使用 Micronaut项目框架,Micronaut CLI 使用 com.github.johnrengelman.shadow 生成项目毕业 当我使用运行 jar 时插件工作正常 -

$ java -Dmicronaut.environments=E1 -jar build/appBundle/app.jar

build.gradle -
plugins {
  id "com.github.johnrengelman.shadow" version "5.0.0"
}

...

shadowJar {
    mergeServiceFiles()
}

问题是 com.github.johnrengelman.shadow由于某种原因,插件无法与 Jenkins 一起使用,我怀疑它在我们的公司仓库中不可用(并且无法添加)。虽然我可以使用 jar 创建一个可执行的 fat-jar java的任务插件,它失败并出现以下错误-
$ java -Dmicronaut.environments=E1 -jar build/appBundle/app.jar
16:12:22.662 [main] INFO  i.m.context.env.DefaultEnvironment - Established active environments: [E1]
16:12:22.863 [main] INFO  io.micronaut.runtime.Micronaut - No embedded container found. Running as CLI application

build.gradle -
plugins {
  id "java"
}

...

jar {
  manifest {
    attributes "Main-Class": "axp.payments.pci.dss.PaymentsPciDssDispatcher"
  }

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

主要问题是为什么不 com.github.johnrengelman.shadow插件与公司存储库一起使用?

最佳答案

已解决

问题是 plugin{...} block 不访问私有(private)/公司 repo 。

通过从 plugins{...} 恢复插件定义来解决它旧的定义方式是 apply plugin...
添加了应用插件的旧方法(这是使其与私有(private)仓库一起使用的唯一方法) -

apply plugin: "com.github.johnrengelman.shadow"

已删除(不访问私有(private)/公司 repo ) -
plugins {
  id "com.github.johnrengelman.shadow"
}

欲了解更多信息,请查看此 SO question 中的第一条评论.

关于java - Micronaut - shadow fat-jar 插件不适用于公司 repo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58720932/

相关文章:

java - 是否值得将 QuickFix 从 Mina 迁移到 Netty?

java - 如何从 Java 中的操作系统读取 'List separator'?

android - Gradle 同步失败 : Could not find com. android.tools.build :gradle-experimental:3. 3.2

gradle - 没有在Gradle GUI中运行的命令

java - 如何使用 netty 库创建 ssl serversocket

java - java.lang.UnsupportedOperationException : Reflective setAccessible(true) disabled

java - 只有当物体进入范围时才触发接近检测器,而不是当他在范围内移动时

java - 我想在jaxb的派生类中隐藏一个字段

java - 黑莓手机可以自动拍照吗

android - Crashlytics 不验证它是否在应用程序中配置