- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已将 Gerrit 安装到 Docker 容器中,以及依赖项 httpd 和 postgres。 docker-compose.yml 文件如下所示:
version: '3.1'
services:
gerrit:
image: gerritcodereview/gerrit
environment:
- CANONICAL_WEB_URL=http://ooi-pmo-prd02.whoi.edu:8080/
volumes:
- ./gerrit/etc:/var/gerrit/etc/
- ./gerrit/git:/var/gerrit/git/
- ./gerrit/index:/var/gerrit/index/
- ./gerrit/cache:/var/gerrit/cache/
ports:
- "29418:29418"
links:
- postgres
depends_on:
- postgres
apache:
image: httpd
volumes:
- ./httpd/httpd.conf:/usr/local/apache2/conf/httpd.conf
- ./httpd/.htpasswd:/usr/local/apache2/conf/.htpasswd
ports:
- "8080:80"
postgres:
image: postgres:9.6
environment:
- POSTGRES_USER=gerrit2
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=reviewdb
volumes:
- ./postgres/:/var/lib/postgresql/data
Apache 和 Postgres 启动没有问题,但 Java 由于无法找到有效的 JDK 或 JRE 而无法启动,就好像它在我的 gerrit.config 文件中没有看到 JAVA_HOME 环境变量或 javaHome 选项一样(如下):
[gerrit]
basePath = git
canonicalWebUrl = http://ooi-pmo-prd02.whoi.edu:8080/
serverId = 85d6f505-5412-4eef-9f26-e844e9efd258
[database]
type = postgresql
hostname = localhost
database = reviewdb
username = gerrit2
[index]
type = LUCENE
[auth]
type = HTTP
logoutUrl = http://aa:aa@ooi-pmo-prd02.whoi.edu:8080/logout
httpHeader =
[sendemail]
smtpServer = localhost
smtpUser = gerrit2
[container]
user = root
javaHome = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre
[httpd]
listenUrl = http://ooi-pmo-prd02.whoi.edu:8080/
[cache]
directory = cache
[sshd]
listenAddress = *:29418
[user]
name = gerrit2
email = pmena@whoi.edu
启动后,gerrit 立即失败并出现以下错误:
pmena@ooi-pmo-prd02=> docker logs gerrit_gerrit_1
Running Gerrit ...
Cannot find a JRE or JDK. Please ensure that the JAVA_HOME environment
variable or container.javaHome in /var/gerrit/etc/gerrit.config is
set to a valid >=1.8 JRE location
尽管事实上 JAVA_HOME 与上面指定的 JRE 匹配 - 并且它是有效的:
pmena@ooi-pmo-prd02=> echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre
pmena@ooi-pmo-prd02=> ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre
total 4
drwxr-xr-x. 2 root root 172 Apr 9 14:04 bin
drwxr-xr-x. 9 root root 4096 Apr 9 14:02 lib
pmena@ooi-pmo-prd02=> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre/bin/java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
当 Java 在 Docker 容器中运行时,是否有一些技巧可以让 Gerrit“看到”Java?
最佳答案
docker-compose 与图片:gerritcodereview/gerrit:3.1.2
我 exec -it 到 gerrit 获取 java_home
bash-4.2$ ls -hl /usr/lib/jvm/
total 0
drwxr-xr-x. 3 root root 17 Dec 14 2019 java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64
lrwxrwxrwx. 1 root root 21 Dec 14 2019 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root 27 Dec 14 2019 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx. 1 root root 35 Dec 14 2019 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx. 1 root root 51 Dec 14 2019 jre-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 -> java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre
lrwxrwxrwx. 1 root root 29 Dec 14 2019 jre-openjdk -> /etc/alternatives/jre_openjdk
这样你就可以在gerrit.config
中设置容器
[container]
user = gerrit
javaOptions = -Dfile.encoding=UTF-8
javaHome = "/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre"
关于java - 为什么 Docker 中的 Gerrit 找不到 JAVA_HOME?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62452085/
当我做的时候 echo %JAVA_HOME% 它在 Windows 10 上返回 %JAVA_HOME% 我做错了什么? 最佳答案 如果您确定已正确设置它们,则可以在 Windows 10 中使用以
据我所知,我的系统 JAVA_HOME 变量设置正确,但 echo %JAVA_HOME% 返回错误的路径(适用于旧版本的 Java)即使在我重新启动 Windows 之后。 另一个程序也认为 JAV
当我尝试 hadoop2.x 时,我启动了一个伪分布式操作,当我输入“sbin/start-dfs.sh”时,我得到了一个错误: JAVA_HOME 不存在然后我检查 etc/hadoop/hadoo
我编辑了我的 .bashrc我的服务器上的文件,带有 sudo nano ~/.bashrc export JAVA_HOME=/usr/bin/java export PATH=${PATH}:${
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 2 年前。 Improve th
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
我有 Linux CentOS 5.5 版,我正在尝试安装 sun-java6-jdk。 我注意到如果我执行以下命令,我有: java -version java version "1.6.0_2
尝试编译 Javadoc taglet 时,需要 $JAVA_HOME/lib/tools.jar ,我发现ant(1.8.4版)集java.home至 $JAVA_HOME/jre而不仅仅是 $JA
我正在尝试安装 jboss-as-7.1.1.Final。首先我remarqued,我无法访问JBoss 的管理页面。然后我尝试从命令提示符添加用户和密码,我看到这条消息出现: JAVA_HOME i
我尝试在 Windows 中的 CMD 上运行 Kafka,它非常不稳定,经常出错。然后我遇到了这个post ,这建议安装 Ubuntu 并从那里运行 Kafka。 我已经成功安装了 Ubuntu。鉴
我注意到首先有人问过一个非常相关的问题,但答案是重新启动系统,这对我来说不起作用。如果有人感兴趣,这是该链接: WINDOWS 10 JAVA_HOME is not working 此外,关于 Pa
我查看了与该错误相关的每个 stackoverflow 问题: Error: JAVA_HOME is not defined correctly. We cannot execute /usr/
我在 Windows 10 中遇到了 Tomcat8.exe 这种奇怪的情况。 我在Windows系统环境下定义的JAVA_HOME环境变量指向JDK 1.8路径: JAVA_HOME=C:\Prog
当我运行 react-native run-android 时,出现错误 ERROR: JAVA_HOME is set to an invalid directory:/usr/libexec/ja
当我运行 react-native run-android 时,出现错误 ERROR: JAVA_HOME is set to an invalid directory:/usr/libexec/ja
我知道有很多关于此的问题和答案,但没有一个有效。我使用的是 Windows 7 计算机。 我已经在环境变量中设置了 JAVA_HOME,但我不断收到错误。我已将其设置为 "C:\Progra
这个问题在这里已经有了答案: Towards the "true" definition of JAVA_HOME (5 个答案) 关闭 4 年前。 为什么 ActiveMQ 提供者需要设置 JAV
我似乎有一个错误指定的 JAVA_HOME 变量。我可以在很多事情上绕过它,但现在我似乎被困住了。我正在尝试使用 Google App Engine 并上传应用程序。 当我这样做时,我得到的错误是:
我正在尝试更新 Jasper Reports Server,但遇到了 Java 问题。它使用Tomcat来运行java。我这台服务器上没有安装java,对java也不是很熟悉。 Java 安装在名为
所以我尝试为 cocos2d-x 构建项目。我目前在 cmd 中,当我键入 python android-build.py -p 19 cpp-tests 时,它开始制作项目,但随后出现构建失败的错误
我是一名优秀的程序员,十分优秀!