jenkins 启动 jar 报错 --add-opens java.base/java.lang=ALL-UNNAMED
时间: 2024-04-13 16:28:50 浏览: 32
您好!对于您遇到的问题,报错 "--add-opens java.base/java.lang=ALL-UNNAMED" 是由于 JDK 9+ 中的模块系统引入的限制导致的。
您可以尝试以下解决方案之一来解决该问题:
1. 检查 JDK 版本:确保您使用的是兼容的 JDK 版本。如果您使用的是 JDK 9+,请尝试使用更早版本的 JDK。
2. 修改 Jenkins 启动脚本:在启动 Jenkins 的脚本中添加以下参数,以解决该问题:
```
java --add-opens java.base/java.lang=ALL-UNNAMED -jar jenkins.war
```
3. 更新 Jenkins 版本:尝试升级到最新版本的 Jenkins,以获得更好的兼容性和修复可能存在的 bug。
这些解决方案中的任何一个都可能帮助您解决问题。如果问题仍然存在,请提供更多的错误信息和上下文,以便我们能够更好地帮助您解决问题。
相关问题
jenkins构建报错,找不到spring-boot-starter-parent-2.1.7.RELEASE.pom.part.lock
这个问题可能是因为Jenkins正在尝试下载Spring Boot Starter Parent的POM文件,但下载过程中出现了错误,导致文件被锁定。
解决这个问题的方法是删除.lock文件并重新构建项目。您可以尝试以下步骤:
1. 在Jenkins构建目录中找到.lock文件。这个文件可能位于类似于~/.m2/repository/org/springframework/boot/spring-boot-starter-parent/2.1.7.RELEASE/spring-boot-starter-parent-2.1.7.RELEASE.pom.part.lock的路径下。如果找不到,请确保您有足够的权限查看隐藏文件和文件夹。
2. 删除.lock文件。
3. 重新构建项目。Jenkins应该会重新下载并缓存Spring Boot Starter Parent的POM文件。
如果这个问题仍然存在,请尝试执行clean命令以清空Maven本地存储库:
```
mvn clean
```
然后重新构建项目。
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: org.jenkinsci.plugins.docker.workflow.Docker.build() is applicable for argument types: (java.util.LinkedHashMap, org.codehaus.groovy.runtime.GStringImpl, java.lang.String) values: [[dockerfile: FROM registry-vpc.cn-shanghai.aliyuncs.com/abel_repository/openjdk:17 COPY ./build/libs/*.jar /app.jar ENV TZ Asia/Shanghai EXPOSE 8080 ENTRYPOINT java $JAVA_OPTS -jar /app.jar ], ...] Possible solutions: build(java.lang.String), build(java.lang.String, java.lang.String), find(), wait(), dump()
这个错误是由于在 Jenkins 的 Pipeline 脚本中使用了错误的 `docker.build()` 方法导致的。根据错误信息,`docker.build()` 方法不适用于给定的参数类型。
正确的用法是使用 `docker.build(String)` 方法来构建 Docker 镜像。你可以将 Dockerfile 的内容作为字符串参数传递给该方法。以下是一个示例:
```groovy
docker.build("FROM registry-vpc.cn-shanghai.aliyuncs.com/abel_repository/openjdk:17\nCOPY ./build/libs/*.jar /app.jar\nENV TZ Asia/Shanghai\nEXPOSE 8080\nENTRYPOINT java $JAVA_OPTS -jar /app.jar")
```
请确保将 Dockerfile 内容作为字符串传递给 `docker.build()` 方法,并在每个行之间使用 `\n` 进行换行。
如果你仍然遇到问题,请确保你已经安装了正确版本的 Docker Pipeline 插件,并且与 Jenkins 兼容。你还可以尝试更新插件或重新启动 Jenkins 来解决问题。
相关推荐
![war](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)