jenkins 启动 jar 报错 --add-opens java.base/java.lang=ALL-UNNAMED
时间: 2024-04-11 09:30:12 浏览: 32
你好!对于你的问题,报错信息 "--add-opens java.base/java.lang=ALL-UNNAMED" 是由于在启动 Jenkins 的过程中,Java 运行时环境需要添加一个参数来解决模块化系统访问限制的问题。
解决这个问题的方法是修改 Jenkins 的启动参数,添加 "--add-opens java.base/java.lang=ALL-UNNAMED"。你可以按照以下步骤进行操作:
1. 找到 Jenkins 的启动脚本。通常情况下,这个脚本是以 ".sh" 或 ".bat" 结尾的文件,你可以在 Jenkins 的安装目录中找到它。
2. 打开启动脚本,并找到包含类似于 "java -jar" 或 "java -war" 的命令行。
3. 在该命令行中添加参数 "--add-opens java.base/java.lang=ALL-UNNAMED"。确保添加的位置是正确的,通常应该在其他参数之前。
4. 保存并关闭启动脚本。
5. 重新启动 Jenkins,看看问题是否解决了。
请注意,这个解决方法是基于你使用的是 Java 9 或更高版本的前提下。如果你使用的是旧版本的 Java,请提供更多的信息,以便我能够给出适合你情况的解决方案。
相关问题
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 来解决问题。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)