返回信息流如题,某项目需要,我要在甲方的服务器上部署一个软件,但是这个软件需要java 1.8.0,这个甲方的服务器是1.7.0的,现在他们装了1.8.0,但是没有加在环境变量里,需要单独调用1.8.0,请问各路大神这该怎么办。。?
注:这个软件就是.jar文件。。比较坑爹
这是一条镜像帖。来源:北邮人论坛 / java / #34718同步于 2014/9/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
默认java 1.7.0,但是程序运行需要1.8.0,如何单独调用?
Lavender0225
2014/9/18镜像同步17 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
把环境变量配到1.8的吧。。
【 在 Lavender0225 (Levender) 的大作中提到: 】
: 如题,某项目需要,我要在甲方的服务器上部署一个软件,但是这个软件需要java 1.8.0,这个甲方的服务器是1.7.0的,现在他们装了1.8.0,但是没有加在环境变量里,需要单独调用1.8.0,请问各路大神这该怎么办。。?
: 注:这个软件就是.jar文件。。比较坑爹
给一个比较简单的解决方案:
多种可选方案都行,都是等价的,基本就是让操作系统的cmd(windows)或者shell(linux)使用你指定的jre来运行你的jar文件。
方法1:把你的jar包放在你需要运行的1.8的jre下面(目录:...\jre1.8\bin),然后cd到那个目录去执行java -jar yourjar.jar
方法2:直接带文件头执行,例如:"C:\Program Files\Java\jdk1.8.0_05\jre\bin\java" -version
如果这样做了还是不使用1.8的jre的包,则再在上面的方法后面加上-classpath参数或者-DJAVA_HOME=xxx。
基本原理:
当在控制台执行java.exe,操作系统寻找JRE的方式如下:
先找当前目录下有没有JRE
再找父目录下有没有JRE
接着在PATH路径中找JRE
刚才测试了下,是可以的。
测试程序见附件,该jar文件打印当前的java环境信息,如你所述,你如果直接执行 java -jar TestJRE.jar 则输出的应该是默认的1.7版本的信息,这就是系统默认的jre环境了;如果你使用"C:\Program Files\Java\jdk1.8.0_05\jre\bin\java" -jar TestJRE.jar 类似的命令强制指定jre来执行,则打印的信息则是指定使用的非默认的1.8版本的信息。
【 在 michael2008 的大作中提到: 】
: 给一个比较简单的解决方案:
: 多种可选方案都行,都是等价的,基本就是让操作系统的cmd(windows)或者shell(linux)使用你指定的jre来运行你的jar文件。
: 方法1:把你的jar包放在你需要运行的1.8的jre下面(目录:...\jre1.8\bin),然后cd到那个目录去执行java -jar yourjar.jar
: ...................
附件(23.5KB) TestJRE.jar
1、写个bat文件,用jar命令运行 你的jar文件,但是需要甲方提供jdk1.8的路径
2、自己把1.8的jre放到程序目录下,同样写bat,用1.8的jar运行jar文件,不需要甲方提供1.8路径
3、下个打包软件,把jre一起打到jar中,不过具体怎么打我确实不知道,baidu或者google把
好详细~多谢多谢!我试下,我刚刚问了实验室的工程师老师,他建议我写一个改java home的shell脚本来启动程序,我都试一下,我们再交流。
对了,服务器是linux的。。
【 在 michael2008 的大作中提到: 】
: 刚才测试了下,是可以的。
: 测试程序见附件,该jar文件打印当前的java环境信息,如你所述,你如果直接执行 java -jar TestJRE.jar 则输出的应该是默认的1.7版本的信息,这就是系统默认的jre环境了;如果你使用"C:\Program Files\Java\jdk1.8.0_05\jre\bin\java" -jar TestJRE.jar 类似的命令强制指定jre来执行,则打印的信息则是指定使用的非默认的1.8版本的信息。
:
: ...................
嗯,甲方提供了1.8的路径。服务器是linux的。。我打算写个shell来用1.8启动程序~大概就是这样 有什么问题我再请教~多谢~
【 在 moonpather 的大作中提到: 】
: 1、写个bat文件,用jar命令运行 你的jar文件,但是需要甲方提供jdk1.8的路径
: 2、自己把1.8的jre放到程序目录下,同样写bat,用1.8的jar运行jar文件,不需要甲方提供1.8路径
: 3、下个打包软件,把jre一起打到jar中,不过具体怎么打我确实不知道,baidu或者google把