昨天,一个老同事问起这样一个问题,起因是他们的系统由于某些原因原有的部分模块不能运行在新的jdk下,所以需要启动两个resin并使用不同jdk。由于是要开机自动启动,因此启动的账号还需要是同一个。这样常用使用两个账号设置各自的JAVA_HOME的方法,就不可行。同事说google了一下没有找到方法,倒是tomcat有类似的解决方案。
自从两个月前加入新公司后,就基本没有再碰过web了,下载了一个resin的包,感觉都有些陌生了。
翻了一下conf/resin.conf文件,没有找到类似的设置。
一下没有想到方法,后来开会,干活,下班也就暂时放下了。
今天早上上班,想起来,又去看看了。看到了熟悉的httpd.sh脚本,恩,shell脚本?眼前一亮,似乎可以从这里下手。
马上测试了一下,似乎真的可行,方案如下:
a.sh:
#! /bin/sh
export JAVA_HOME=/abc/123/home/a
echo $JAVA_HOME
b.sh:
#! /bin/sh
export JAVA_HOME=/abc/123/home/a
echo $JAVA_HOME
然后执行./a.sh ; ./b.sh;env | grep JAVA_HOME,结果如下:
/abc/123/home/a /abc/123/home/b JAVA_HOME=/usr/lib/java
恩,ok,在shell中设置环境变量只对该shell生效,不影响其他。
按照这个思路,只要修改两个resin的httpd.sh脚本,加入对JAVA_HOME的不同设置就可以了搞定这个问题,呵呵,最后的方法还是蛮简单的。
分享到:
相关推荐
### 一台机器上部署不同版本JDK及两个Tomcat实例的解决方案 #### 一、背景介绍 在实际项目开发和运维过程中,有时会遇到需要在同一台机器上部署不同版本的Java Development Kit (JDK) 和多个Apache Tomcat服务器的...
解决在windows 同时安装两个版本jdk办法, 解决在windows 同时安装两个版本jdk办法,
本篇文章将详细讲解如何在Linux环境下安装JDK 7.0和JDK 8.0,这两个版本是Java开发的重要里程碑。 首先,我们来看一下提供的压缩包文件:`jdk-8u181-linux-x64.tar.gz` 和 `jdk-7u75-linux-x64.tar.gz`。这两个文件...
NULL 博文链接:https://bstics.iteye.com/blog/752334
在这个场景中,我们关注的是JDK的两个重要版本:JDK 1.8和JDK 15,它们都在MacOS 64位操作系统上运行。这两个版本在Java开发者中都有着广泛的应用,各有其特点和改进。 **JDK 1.8**,也被称为Java 8,于2014年发布...
2. **方法引用**:方法引用允许直接引用已有类或对象的方法,而不必创建一个新的lambda表达式。这在处理函数接口时非常有用,可以提高代码的可读性和简洁性。 3. **接口的默认方法**:Java 8允许在接口中定义默认...
首先,我们需要将这两个压缩包下载到Linux系统中。这通常通过命令行工具如`wget`或使用FTP、SCP等协议完成。下载完成后,可以使用`tar`命令来解压它们,因为它们通常是`.tar.gz`或`.tar.bz2`格式。 解压命令可能是...
在Windows操作系统中,当一台计算机上安装了多个Java Development Kit (JDK) 版本时,可能需要为特定的应用程序,如Kettle(Pentaho Data Integration),指定一个特定的JDK版本。这是因为不同的应用程序可能对JDK的...
总结来说,该文档描述了如何在Linux环境下使用源代码编译的方式安装JDK、Apache和Resin,并将它们整合起来,构建一个完整的Web服务器环境。通过了解文档中的这些知识点,可以更深入地掌握Linux下Web服务器配置和Java...
而在Eclipse中集成并启动Resin服务器,则是进行Java Web应用开发时不可或缺的一个步骤。本文将详细介绍如何在Eclipse中配置并启动Resin服务器,包括必要的准备工作以及具体的配置步骤。 #### 二、准备工作 1. **...
综上所述,通过上述方法可以解决Android Studio和Gradle使用不同位置JDK的问题,确保两者使用同一位置的JDK,有助于维持开发环境的稳定性和兼容性。希望这些内容对正在学习或者工作中遇到相关问题的开发者有所帮助。...
### JDK详细使用安装方法 #### 一、JDK简介 JDK(Java Development Kit)是Java语言的基础软件开发工具包,包含了编译器、解释器、JRE(Java Runtime Environment)以及其他工具,如文档生成工具javadoc等。它是...
Base64是一种基于64个可打印字符来表示二进制数据的方法,常用于将二进制数据转换为文本格式的数据,以便在网络上传输。在不同的Java版本中,Base64的实现方式有所不同。本篇文章主要针对JDK 1.6环境下Sun提供的Base...
在这里,我们需要新建两个系统变量: - 变量名:`JAVA_HOME`,变量值:指向JDK的安装目录,例如 `C:\Program Files\Java\jdk1.7.0_80` - 变量名:`PATH`,在已有的变量值后追加 `%JAVA_HOME%\bin`,用分号(`;`)与...
解决dubbo-admin在jdk1.8下启动报错问题,需要下载dubbo源码修改问题重新编译打包发布,这里已经和重新编译。
总结来说,管理和切换多个JDK版本是Java开发中的一项基本技能,理解如何配置和使用不同版本的JDK对于提升工作效率和确保软件兼容性至关重要。通过熟练掌握上述方法,开发者可以更从容地应对多版本环境的需求。
"配置 JDK 11 和 BurpSuite 在 Win 10 环境下的安装和配置教程" ...本教程为用户提供了一个完整的指南,指导用户如何在 Win 10 环境下安装和配置 JDK 11 和 BurpSuite,实现 Web 攻击工具 BurpSuite 的启动和使用。
在安装Java Development Kit (JDK) 的过程中,有时可能会遇到一些技术...确保从可靠的源下载JDK,检查系统环境,排除潜在的干扰因素,并尝试不同的解决方法。如果问题依然存在,寻求专业社区的帮助往往是有效的途径。
本文将详细介绍三种使用指定JDK启动IDEA的方法,以满足不同情况下的需求。 1. **方法一:配置系统环境变量** 这是最基础的方法,适用于大多数情况。首先,你需要确保你的计算机上安装了所需版本的JDK。然后,编辑...
在IT行业中,尤其是在Java开发领域,兼容性和安全性是至关重要的两个方面。微信支付作为国内广泛使用的移动支付方式,其与开发环境的适配性直接影响到应用程序的正常运行。本篇文章将详细探讨“微信支付解决jdk版本...