SonarQube 9.9 由于 java版本导致的报错的解决方法

文章讲述了在运行SonarQube时遇到JVM无法创建的问题,原因是不识别Java的某些选项。解决方案是安装Java17并设置环境变量sonar_java_path,使得SonarQube使用特定版本的Java,而无需卸载其他Java版本。提供了SonarQube支持的Java版本链接和Java17的下载链接。
部署运行你感兴趣的模型镜像

Running SonarQube…
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM…
wrapper | JVM exited while loading the application.
jvm 1 | Unrecognized option: --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED
jvm 1 | Error: Could not create the Java Virtual Machine.
jvm 1 | Error: A fatal exception has occurred. Program will exit.

看了下网上的做法,大概分为两种:

  1. 卸载低版本Java
  2. 安装低版本SonarQube

但我又想装最新版,又不想修改本地JAVA 版本怎么办,那就继续往下看。

首先查看 StartSonar.bat 文件,发现他首先通过%REALPATH%lib\find_java.bat 来获取java.exe 的
在这里插入图片描述在这里插入图片描述找到 find_java.bat 文件,也就是在上层目录下的lib文件中
在这里插入图片描述在这里插入图片描述看到这里的描述了没,如果环境变量中存在sonar_java_path 那么就会采用该路径调用 sonarqube 。

这下问题就解决了 ,
只需要安装 java 17版本,然后添加环境变量即可。

sonarqube 支持的java 版本:
https://docs.sonarqube.org/latest/requirements/prerequisites-and-overview/
在这里插入图片描述

java 17 下载:
https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

环境变量配置:
在这里插入图片描述

安装完成

附上安装完成的截图
在这里插入图片描述

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

<think>我们使用Docker Compose部署SonarQube 9.9.6 LTS版本(注意:9.9.6是LTS版本) 关键点: 1. 需要设置内核参数(特别是vm.max_map_count)以避免Elasticsearch启动问题 2. 使用PostgreSQL作为数据库(注意:SonarQube 9.9.6要求PostgreSQL版本在12到14之间) 3. 配置持久化卷以保存数据 4. 注意内存要求(至少4GB内存) 步骤: 1. 准备系统(设置内核参数) 2. 编写docker-compose.yml文件 3. 启动服务 根据引用[3]中的信息,我们需要设置内核参数,并且需要设置ulimits(在docker-compose中可以通过ulimits配置) 下面提供完整的docker-compose.yml文件,并说明步骤。</think>### 🐳 Docker Compose 部署 SonarQube 9.9.6 LTS 指南 #### 📝 步骤 1:系统级配置(关键) ```bash # 设置Elasticsearch必需的内核参数[^3] echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf echo "fs.file-max=65536" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 设置用户资源限制 echo "sonar - nofile 65536" | sudo tee -a /etc/security/limits.conf echo "sonar - nproc 4096" | sudo tee -a /etc/security/limits.conf ``` #### 📄 步骤 2:创建 `docker-compose.yml` ```yaml version: "3.8" services: sonarqube: image: sonarqube:9.9.6-community # 指定版本 container_name: sonarqube restart: unless-stopped ports: - "9000:9000" environment: SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonarqube SONAR_JDBC_USERNAME: sonaradmin SONAR_JDBC_PASSWORD: YourStrong@Pass123 # 修改为安全密码 SONAR_ES_BOOTSTRAP_CHECKS_DISABLE: "true" # 单节点模式必需[^2] volumes: - sonarqube_data:/opt/sonarqube/data - sonarqube_extensions:/opt/sonarqube/extensions ulimits: # 资源限制[^3] nofile: soft: 65536 hard: 65536 depends_on: - db networks: - sonarnet deploy: resources: limits: memory: 4g # 最小内存要求 db: image: postgres:14 # 兼容版本 container_name: postgres-sonar environment: POSTGRES_USER: sonaradmin POSTGRES_PASSWORD: YourStrong@Pass123 # 与上方一致 POSTGRES_DB: sonarqube volumes: - postgres_data:/var/lib/postgresql/data networks: - sonarnet volumes: sonarqube_data: sonarqube_extensions: postgres_data: networks: sonarnet: driver: bridge ``` #### ⚡ 步骤 3:启动服务 ```bash # 安装Docker Compose(若未安装)[^4] sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose # 启动服务(首次需下载镜像) docker-compose up -d # 查看启动日志(初始化约2-5分钟) docker-compose logs -f sonarqube ``` #### ✔️ 步骤 4:验证部署 1. 访问 `http://服务器IP:9000` 2. 首次登录: - 用户名:`admin` - 密码:`admin` 3. **强制修改密码**(安全要求) #### 🔧 关键配置说明 1. **版本兼容性** - SonarQube 9.9.6 要求 PostgreSQL 12-14 - 使用 `sonarqube:9.9.6-community` 确保版本精确 2. **中文支持**(可选) 手动安装中文插件: ```bash docker exec sonarqube wget https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-9.9/sonar-l10n-zh-plugin-9.9.jar -P /opt/sonarqube/extensions/plugins docker-compose restart sonarqube ``` 3. **数据持久化** ```bash # 查看持久化卷 docker volume inspect [项目名]_sonarqube_data ``` #### ⚠️ 常见问题处理 ```bash # 问题1:Elasticsearch启动失败 解决方案:确认已执行 sysctl -p 并重启主机 # 问题2:数据库连接超时 检查:docker-compose exec db psql -U sonaradmin -d sonarqube # 问题3:内存不足 增加内存限制:deploy.resources.limits.memory: 8g ``` > **注**:生产环境建议使用外部数据库并配置 HTTPS 访问[^2] --- ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值