Ubuntu Tomcat服务器设置非系统默认版本的JDK

本文介绍如何在同一服务器上配置多个版本的JDK及多个Tomcat实例,并确保每个Tomcat实例使用指定版本的JDK。具体步骤包括下载与上传JDK、Tomcat软件包,解压并设置环境变量等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有需求,在同一个服务器上配置不同版本的jdk,且多tomcat分别发布项目,于是乎就需要以下的配置了。

一、安装不同版本的JDK

下载jdk这一步就省略了,到oracle官网上下载jdk,再通过诸如winscp之类的工具将需要的多版本jdk的gz包上传到服务器里。

这里写图片描述
通过 tar -xzvf 命令解压多版本jdk到指定目录,这里我放在/home/java下。
这里写图片描述

二、安装配置tomcat8并指定JDK

tomcat官网下载需要的版本,这里我给出两个下载官方链接:
Apache Tomcat 7下载
Apache Tomcat 8下载

同第一步中操作下载tar.gz包并上传到服务器上,解压缩tar.gz包到指定目录,这里我放在/home下,并自定义了两个名字
这里写图片描述
接下来就开始配置指定的JDK了:

先看下我的默认的jdk环境:
这里写图片描述

1.修改catalina.sh文件,配置指定的jdk和jre环境
我文件在/home/tomcat8-jdk8/bin/catalina.sh,vim打开加入如下代码:

export JAVA_HOME=/home/java/jdk1.8.0_171
export JRE_HOME=/home/java/jdk1.8.0_171/jre

这里写图片描述

2.修改setclasspath.sh文件,配置指定的jdk和jre环境

我文件在/home/tomcat8-jdk8/bin/setclasspath.sh,vim打开加入如下代码:

export JAVA_HOME=/home/java/jdk1.8.0_171
export JRE_HOME=/home/java/jdk1.8.0_171/jre

这里写图片描述

3.启动服务器并查看日志:
这里写图片描述

4.查看进程:

ps -ef |grep tomcat

这里写图片描述

最后访问测试:
这里写图片描述

注意:多tomcat时注意server.xml里的端口需要不同

到此配置指定JDK结束

### MATLAB 中栅格化的实现 在MATLAB中,栅格化是指将连续的空间数据转换成离散的网格形式。这通常用于路径规划、图像处理等领域。下面展示了一个简单的栅格化过程及其应用实例。 #### 创建栅格地图 为了创建一个基本的栅格地图,可以通过定义矩阵来表示空间的不同部分。0代表无障碍区域,而其他数值(如1)则用来标记障碍物所在的位置[^2]。 ```matlab % 定义栅格大小 gridSize = 50; obstacleDensity = 0.2; % 障碍物密度 % 初始化空白栅格mapGrid = zeros(gridSize); % 添加随机分布的障碍物 numObstacles = round(obstacleDensity * gridSize^2); randomPositions = randperm(numel(mapGrid), numObstacles); mapGrid(randomPositions) = 1; figure; imagesc(mapGrid); colormap gray; title('Simple Grid Map with Obstacles'); axis equal tight; ``` 这段代码展示了如何构建一张具有特定尺寸和障碍物比例的基础栅格地图,并通过`imagesc()`函数可视化该地图。 #### 转换坐标到栅格索引 当需要将在实际环境中获得的数据映射至上述建立好的虚拟世界时,则需考虑坐标的变换关系: 假设有一个物理世界的二维平面直角坐标系(x,y),要将其对应于栅格内的行列号(i,j): \[ i=\left\lfloor \frac{y-y_{min}}{\Delta y}+\delta_i \right\rceil,\quad j=\left\lfloor \frac{x-x_{min}}{\Delta x}+\delta_j \right\rceil \] 其中\( (x_{min},y_{min})\) 是原点位置;\( (\Delta x, \Delta y)\) 表示每个单元格的实际宽度高度;\(\delta_i ,\delta_j\) 则是为了调整边界条件引入的小偏移量[^4]。 对于具体的编码实践来说,可以根据具体应用场景简化此公式并直接应用于程序逻辑之中。 #### 处理栅格数据 一旦拥有了完整的栅格结构之后就可以对其进行各种操作了,比如查询某个节点的状态、计算两点间距离等。这里给出一段简单例子说明怎样判断给定位置是否为开放区还是阻碍区: ```matlab function isFreeSpace = checkPosition(positionX, positionY, mapGrid) % 获取栅格维度信息 [rows, cols] = size(mapGrid); % 将输入坐标转化为整数型索引 rowIndex = floor((positionY / deltaY)) + deltaI; colIndex = floor((positionX / deltaX)) + deltaJ; % 边界检查 if rowIndex >= 1 && rowIndex <= rows && ... colIndex >= 1 && colIndex <= cols % 返回指定位置处的内容作为结果 isFreeSpace = ~logical(mapGrid(rowIndex,colIndex)); else error('The specified location is out of bounds.'); end end ``` 以上就是有关MATLAB下栅格化的一些基础概念及其实现方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值