java - Jitpack 使用错误配置的工具链构建失败
问题描述
我正在尝试使用jitpack编译一个分叉的 repo,因为 repo 没有发布到 maven,并且在之前发布在 maven 上的版本中有几个错误修复。但是,我不断收到配置错误的工具链错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-toolchains-plugin:1.1:toolchain (default) on project microbean-kubernetes-controller: Misconfigured toolchains. Non-existing JDK home configuration at /usr/lib/jvm/java-6-oracle -> [Help 1]
我已经做了几个小时了,我基本上已经放弃了。
回购位于:https ://github.com/asuprem/microbean-kubernetes-controller
pom.xml 位于:https ://github.com/asuprem/microbean-kubernetes-controller/blob/master/pom.xml
jitpack 的构建日志位于:https ://jitpack.io/com/github/asuprem/microbean-kubernetes-controller/v0.2.3.3/build.log
我特别收到以下错误:
[INFO] Required toolchain: jdk [ version='1.8' ]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.134 s
[INFO] Finished at: 2020-10-20T20:06:17Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-toolchains-plugin:1.1:toolchain (default) on project microbean-kubernetes-controller: Misconfigured toolchains. Non-existing JDK home configuration at /usr/lib/jvm/java-6-oracle -> [Help 1]
我认为这是因为原始 repo 没有指定 amaven-compiler-plugin
所以我在 pom 中添加了以下内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
它确实在本地编译。
我还尝试添加一个jitpack.yml
:
jdk:
- openjdk8
因为我认为错误是usr/lib/jvm/java-6-oracle
位,但这也失败了,所以我删除了它。
我知道我遗漏了一些可能非常简单的东西,但是盯着日志已经没有帮助了。任何帮助将不胜感激。
解决方案
我遇到了同样的错误。事实证明,我的toolchains.xml
文件是无效的,maven 在尝试为工具链查找适当的 JDK 时正在读取该文件 - 它有一个<jdkHome>
指向不存在位置的条目。
解决方案是简单地纠正我toolchains.xml
文件中的错误路径,然后一切正常。
推荐阅读
- r - 在R中的递增顺序函数中包括0
- mura - Can You Change Site Logo URL?
- infinispan - Infinispan 分布式缓存并在主键所有者上执行任务
- javascript - 如何比较日期时间字符串格式:(YYYY-MM-DD XX:YY)在javascript中
- html - HTML: Inline block doesn't work for just one table
- kubernetes - How to get PodSandboxConfig object in PullImageRequest on container runtime interface interface
- javascript - Understanding Concurrency/Parallelism in Async module - Node JS
- angularjs - Add new list options into the list box dynamically- AngularJS
- mysql - 从两个表中获取总销售额数据
- angular - 在 Angular 6 测试中修改全局窗口变量