如何使用 OpenJDK 配置 JAVA HOME?

tro*_*ool -1 java ubuntu

我在 Ubuntu 18.04 服务器上安装了 SERPOSCOPE 程序。它需要 Java 才能工作,所以我安装了 OpenJDK :

\n\n
$ sudo apt install openjdk-8-jdk\n$ java -version\n\nopenjdk version "1.8.0_191"\nOpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)\nOpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是安装说明。有一条关于 Java 文件夹的评论,但我不明白我必须做什么:

\n\n

https://github.com/serphacker/serpscope

\n\n

https://serpscope.serphacker.com/en/doc/install.html

\n\n

问题是Java有问题并且SERPOSCOPE拒绝启动:

\n\n
ubuntu@serp-example-com:~$ sudo systemctl status serposcope\n\xe2\x97\x8f serposcope.service - LSB: serposcope rank checker\n   Loaded: loaded (/etc/init.d/serposcope; generated)\n   Active: failed (Result: exit-code) since Sun 2019-05-12 16:06:15 CEST; 7s ago\n     Docs: man:systemd-sysv-generator(8)\n  Process: 9785 ExecStart=/etc/init.d/serposcope start (code=exited, status=1/FAILURE)\n\nMay 12 16:06:15 serp-example-com systemd[1]: Starting LSB: serposcope rank checker...\nMay 12 16:06:15 serp-example-com serposcope[9785]: Can\'t find JAVA_HOME, java seems not installed on this OS\nMay 12 16:06:15 serp-example-com systemd[1]: serposcope.service: Control process exited, code=exited status=1\nMay 12 16:06:15 serp-example-com systemd[1]: serposcope.service: Failed with result \'exit-code\'.\nMay 12 16:06:15 serp-example-com systemd[1]: Failed to start LSB: serposcope rank checker.\n\n\nubuntu@serp-example-com:~$ journalctl -xe\nMay 12 16:06:02 serp-example-com groupadd[9636]: group added to /etc/gshadow: name=serposcope\nMay 12 16:06:02 serp-example-com groupadd[9636]: new group: name=serposcope, GID=1001\nMay 12 16:06:02 serp-example-com useradd[9641]: new user: name=serposcope, UID=111, GID=65534, home=/var/lib/serposcope, shell=/usr/sbin/\nMay 12 16:06:02 serp-example-com usermod[9647]: change user \'serposcope\' password\nMay 12 16:06:02 serp-example-com chage[9652]: changed password expiry for serposcope\nMay 12 16:06:03 serp-example-com systemd[1]: Reloading.\nMay 12 16:06:03 serp-example-com systemd[1]: Reloading.\nMay 12 16:06:03 serp-example-com sudo[9593]: pam_unix(sudo:session): session closed for user root\nMay 12 16:06:07 serp-example-com sudo[9749]:   ubuntu : TTY=pts/0 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/usr/sbin/ufw allow 7134\nMay 12 16:06:07 serp-example-com sudo[9749]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)\nMay 12 16:06:08 serp-example-com sudo[9749]: pam_unix(sudo:session): session closed for user root\nMay 12 16:06:15 serp-example-com sudo[9782]:   ubuntu : TTY=pts/0 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/systemctl start serposcop\nMay 12 16:06:15 serp-example-com sudo[9782]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)\nMay 12 16:06:15 serp-example-com systemd[1]: Starting LSB: serposcope rank checker...\n-- Subject: Unit serposcope.service has begun start-up\n-- Defined-By: systemd\n-- Support: http://www.ubuntu.com/support\n-- \n-- Unit serposcope.service has begun starting up.\nMay 12 16:06:15 serp-example-com serposcope[9785]: Can\'t find JAVA_HOME, java seems not installed on this OS\nMay 12 16:06:15 serp-example-com systemd[1]: serposcope.service: Control process exited, code=exited status=1\nMay 12 16:06:15 serp-example-com sudo[9782]: pam_unix(sudo:session): session closed for user root\nMay 12 16:06:15 serp-example-com systemd[1]: serposcope.service: Failed with result \'exit-code\'.\nMay 12 16:06:15 serp-example-com systemd[1]: Failed to start LSB: serposcope rank checker.\n-- Subject: Unit serposcope.service has failed\n-- Defined-By: systemd\n-- Support: http://www.ubuntu.com/support\n-- \n-- Unit serposcope.service has failed.\n-- \n-- The result is RESULT.\nMay 12 16:06:18 serp-example-com kernel: [UFW BLOCK] IN=ens3 OUT= MAC=fa:16:3a:c8:b3:fc:0a:c5:39:6b:41:e2:08:00 SRC=185.10.68.55 DST=51.8\nMay 12 16:06:23 serp-example-com sudo[9813]:   ubuntu : TTY=pts/0 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/systemctl status serposco\nMay 12 16:06:23 serp-example-com sudo[9813]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)\nMay 12 16:06:23 serp-example-com sudo[9813]: pam_unix(sudo:session): session closed for user root\n
Run Code Online (Sandbox Code Playgroud)\n\n

ubuntu@serp-example-com:~$ sudo JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 systemctl 状态 serpscope

\n\n
\xe2\x97\x8f serposcope.service - LSB: serposcope rank checker\n   Loaded: loaded (/etc/init.d/serposcope; generated)\n   Active: failed (Result: exit-code) since Sun 2019-05-12 17:43:02 CEST; 9min ago\n     Docs: man:systemd-sysv-generator(8)\n  Process: 10202 ExecStart=/etc/init.d/serposcope start (code=exited, status=1/FAILURE)\n\nMay 12 17:43:02 serp-example-com systemd[1]: Starting LSB: serposcope rank checker...\nMay 12 17:43:02 serp-example-com serposcope[10202]: Can\'t find JAVA_HOME, java seems not installed on this OS\nMay 12 17:43:02 serp-example-com systemd[1]: serposcope.service: Control process exited, code=exited status=1\nMay 12 17:43:02 serp-example-com systemd[1]: serposcope.service: Failed with result \'exit-code\'.\nMay 12 17:43:02 serp-example-com systemd[1]: Failed to start LSB: serposcope rank checker.\n
Run Code Online (Sandbox Code Playgroud)\n

Mih*_*hai 6

首先找出Java home的位置update-java-alternatives -l(最后一部分是要记住的路径)。

然后运行systemctl edit serposcope,这应该会打开一个编辑器。添加以下行:

[Service]
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64"
Run Code Online (Sandbox Code Playgroud)

其中 JAVA_HOME 的值是第一个点的值。

尝试启动你的服务sudo systemctl status serposcope