我正在使用 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/