Linux中指定版本jdk运行java项目
![在这里插入图片描述](https://img-blog.csdnimg.cn/c087d9baabed43f9aa8442f8c31610cf.png)
一、Linux中下载jdk(已下载跳过步骤一)
要在Linux系统上下载并安装Java Development Kit (JDK),可以按照以下步骤进行操作。以下示例是基于OpenJDK,这是一个开源的Java开发工具包。
-
打开终端:你可以通过在菜单中搜索终端或使用快捷键(通常是Ctrl + Alt + T)来打开终端。
-
更新软件包列表(可选):
sudo apt update
- 安装OpenJDK(示例是OpenJDK 11,你也可以选择其他版本):
sudo apt install openjdk-11-jdk
- 验证安装:
java -version
这将显示已安装的Java版本信息。如果一切顺利,你应该能够看到类似以下内容的输出:
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.12+7-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
现在,你已经成功在Linux系统上安装了OpenJDK。如果你需要下载Oracle JDK而不是OpenJDK,请前往Oracle官方网站并按照他们的指南进行操作。
二、配置环境变量(之前配过不影响)
要在 Linux 系统上使用指定的 JDK 版本来运行 Java 项目,您可以按照以下步骤进行操作:
-
设置环境变量: 在终端中设置
JAVA_HOME
环境变量,将其指向您希望使用的 JDK 版本的安装路径。执行以下命令:export JAVA_HOME=/path/to/your/jdk
如果设置了这个之后,如果没有在当前位置(可选)设置 PATH 环境变量,这样在窗口不关闭的情况下,任何地方运行java -version就都是所运行版本
将
/path/to/your/jdk
替换为您实际希望使用的 JDK 版本的路径,就是你在linux中安装的jdk软件的位置 -
运行 Java 项目: 使用
java
命令加上-jar
参数来运行您的 Java 项目。假设您的项目是一个可执行的 JAR 文件,执行类似于以下命令:$JAVA_HOME/bin/java -jar your-application.jar
将
your-application.jar
替换为您的项目的可执行 JAR 文件名。 -
(可选)设置 PATH 环境变量: 如果您希望在终端的任何位置都能够直接使用
java
命令,可以将 JDK 的bin
目录添加到您的PATH
环境变量中。执行以下命令:export PATH=$JAVA_HOME/bin:$PATH
这将使您能够在终端中使用
java
命令时,自动使用指定的 JDK 版本。
请注意,上述步骤在当前会话中设置了环境变量。如果您希望永久性地更改环境变量,可以将相应的命令添加到您的 shell 配置文件(如.bashrc
或.bash_profile
)中。这样,您就可以方便地在终端中使用指定版本的 JDK 运行项目。
三、工作服务器跑项目(后台长期运行)
nohup $JAVA_HOME/bin/java -jar your-application.jar > output.log 2>&1 &
这个命令执行了以下操作:
nohup
:这个命令可以让进程在后台运行,并且在终端关闭后不会终止。$JAVA_HOME/bin/java
:这是您指定的 JDK 的java
命令路径。-jar your-application.jar
:这是启动 JAR 文件的命令行参数,将your-application.jar
替换为您的项目的可执行 JAR 文件名。> output.log
:这将标准输出(stdout)重定向到名为output.log
的文件中,记录应用程序的输出。2>&1
:这将标准错误(stderr)重定向到标准输出,使所有输出都写入output.log
文件中。&
:这个符号使命令在后台运行。
运行这个命令后,您的 Java 项目将在后台持续运行,并且输出将被记录在 output.log
文件中。您可以随时关闭终端,项目仍会继续运行。
如果您希望在长期运行 Java 项目时具有更高的可靠性和控制,您还可以考虑使用一些工具,如 systemd
或其他进程管理工具,以确保项目能够自动重启、监控和管理。
总结
工作服务器可能有多个jdk版本,或者说之前有些项目在特定jdk版本运行,不好删除,有时候就要指定版本jdk运行项目时候应用。