我从这里下载了安装文件(jdk-1_5_0_06-linux-amd64.bin)。
但这是一个 .bin 文件。
那么我该如何安装它呢?
因此,我按照本指南安装了 Java ,就像我多次所做的那样,并设置$JAVA_HOME
为/etc/environment
,java -version
工作正常。
之后,我按照本指南进行操作,就像我多次执行的那样,并安装 Maven。.profile
JAVA_HOME
我不明白为什么我需要再次添加,但我总是这样做并且它有效,所以我再次执行并在文件行末尾添加:
JAVA_HOME='/usr/lib/jvm/java-19-openjdk-amd64/bin/java'
PATH="$JAVA_HOME/bin:$PATH"
export PATH
M2_HOME='/opt/apache-maven-3.9.4'
PATH="$M2_HOME/bin:$PATH"
export PATH
我源了两者environment
,.profile
但无论出于何种原因,它都不起作用,maven 给出错误,即 java home 未设置,而它设置在 2 个位置,甚至...我不明白,也工作得很好echo $JAVA_HOME
。Ubuntu 是 22.04
我正在尝试在启动时使用systemd
.
这是我的.service
文件
[Unit]
Description=Lavalink Server
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=bubble
WorkingDirectory=/home/bubble/Desktop/Project\ Proton
ExecStart=/usr/bin/java -jar ./Lavalink/Lavalink.jar
[Install]
WantedBy=multi-user.target
但是,启动失败。以下是 Journalctl 日志:
Apr 07 14:45:44 sen-zen systemd[1]: Started lavalink_server.service.
Apr 07 14:45:44 sen-zen systemd[13520]: lavalink_server.service: Changing to the requested working directory failed: No such file or directory
Apr 07 14:45:44 sen-zen systemd[13520]: lavalink_server.service: Failed at step CHDIR spawning /usr/bin/java: No such file or directory
Apr 07 14:45:44 sen-zen systemd[1]: lavalink_server.service: Main process exited, code=exited, status=200/CHDIR
Apr 07 14:45:44 sen-zen systemd[1]: lavalink_server.service: Failed with result 'exit-code'.
它说Failed at step CHDIR spawning /usr/bin/java: No such file or directory
但是,这是输出whereis java
┌─[bubble@sen-zen] - [~] - [547]
└─[$] whereis java [15:06:06]
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
我尝试对此进行搜索,但没有发现任何真正解决我的问题的东西。我做错了什么,有人可以帮助我吗?
这个话题可能是一个常见的话题,但是在网上查找时,我并没有看到太多与我的案例相关的内容,因为我运行的不是普通的 ubuntu,而是 WSL(Linux 的 Windows 子系统)。
所以我的问题是我最近从 java 8 切换到 java 17(我需要 java 8 的课程),但我注意到在 ubuntu 终端上,java -version
仍然显示openjdk-1.8.(something)
,而不是jdk-17
类似的东西。
所以我认为卸载 openjdk 可以解决问题,我使用sudo apt-get autoremove openjdk-8-jre
. 但是,现在java
在 ubuntu 终端中输入根本不起作用,并显示:Command 'java' not found, but can be installed with: ...
. 但我担心使用这些命令之一安装它会安装一个新版本的 java,而不是使用已经安装的那个。
我已经将JAVA_HOME
变量设置为java安装目录,也就是mnt/c/Program Files/Java/jdk-17.0.1
,但是Program Files中的空间似乎确实有问题。
我怎样才能解决这个问题?我通常更喜欢使用 bash 终端而不是 Powershell 或 cmd,因为我更了解命令,所以无法使用java
bashjavac
对我来说是个问题。谢谢!
我显然很担心这个漏洞,但我想知道我的机器上是否有这个库?
这台机器是一个运行几个node expressjs
框架的网络服务器nginx
,外加一个geoserver
sudo apt update && sudo apt upgrade
我今天用:修补了机器ubuntu-advantage-tools
,openssl
并libssl1.1
进行了升级。
我的java版本是:
openjdk version "1.8.0_292" OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~18.04-b10) OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
这geoserver
是 v2.13.0,我相信它是唯一可能使用 log4j 的程序。我的地理服务器是独立于平台的二进制版本(不是 Tomcat 版本),jetty
我认为它用作它的网络服务器。
我怎样才能知道我是否拥有 log4j 以及什么版本?
尝试将 Java 升级到 Minecraft 服务器的最新版本(v1.18),我有点出戏,因为服务器最初运行的是 Ubuntu 19.x,所以我在找到允许我的地方后转换为 20.04更新所有软件包并进行升级。
在此之后我安装了 JRE,这是显示我正在使用的版本的相同命令:
mortimer@mineraft:/home/minecraft$ sudo apt-get install default-jre
Reading package lists... Done
Building dependency tree
Reading state information... Done
default-jre is already the newest version (2:1.11-72).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
与 JDK 类似:
mortimer@mineraft:/home/minecraft$ sudo apt-get install default-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
default-jdk is already the newest version (2:1.11-72).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
运行更新替代方案:
mortimer@mineraft:/home/minecraft$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/jdk-16.0.1/bin/java 0 manual mode
* 4 /usr/local/java/jre1.8.0_311/bin/java 1 manual mode
Press <enter> to keep the current choice[*], or type selection number:
但是,如果我运行我的 Q&D 启动命令:
mortimer@mineraft:/home/minecraft$ cat start.sh
#!/bin/bash
sudo java -Xmx6G -Xms4G -jar /home/minecraft/spigot-1.18.jar nogui > /dev/console
我从服务器收到一个很好的错误说明:
mortimer@mineraft:/home/minecraft$ sudo ./start.sh
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/bukkit/craftbukkit/bootstrap/Main has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)
mortimer@mineraft:/home/minecraft$
谁能阐明我做错了什么?
谢谢
[编辑 - 添加 java -version]
mortimer@mineraft:/home/minecraft$ java -version
java version "1.8.0_311"
Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)
mortimer@mineraft:/home/minecraft$
我想同时安装 Temurin JDK 8 和 11,我通过这些步骤安装了它们
wget https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u312-b07/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz
tar xzf OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz
sudo mv jdk8u312-b07/ /usr/lib/jvm/temurinjdk-8-hotspot-amd64
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/temurinjdk-8-hotspot-amd64/bin/java" 1081
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/temurinjdk-8-hotspot-amd64/bin/javac" 1081
但我不确定这是否 100% 正确,以及如何生成 .jinfo 文件是否需要?
在 Ubuntu 操作系统中,如何通过终端浏览 jar 文件中的内容?
在运行 Ubuntu 20.04.2 和 Pop!_OS 21.04 的两台 PC 上使用 JRE 11 时,BioX 不会启动。
然而,BioX 程序在我分别用 Ubuntu 20.04 和 Pop!_OS 21.04 替换的 openSUSE(Leap 15.2 和 15.3)中运行良好,没有问题。
错误消息以“发生非法反射访问操作”开头。
(base) bcramer@curie:~/Biographics_Lab-3R/BioX$ java -jar BioX4.6.13.jar
llb: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/home/bcramer/Biographics_Lab-3R/BioX/lib/gluegen-rt.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!