概述找不到Java家
我正在编写一个利用Jsvc作为守护进程启动Java服务的应用程序。 我需要使用像Jsvc这样的Jsvc因为我的应用程序使用1024以下的端口,但我真的不想运行它作为根,所以创build的文件是由另一个用户拥有。 我也想保持依赖关系和configuration的最低限度,以便所有的客户端需求是一个JVM和Jsvc二进制安装。
但是, Jsvc似乎有一个主要的问题。 它无法在给定的Unix *** 作系统上检测到Java的主文件夹,这非常令人沮丧:
$ ./startup.sh Cannot locate Java home
我已经能够通过手动设置JVM主目录来解决Ubuntu上的问题了。
Jsvc … -home /usr/lib/jvm/default-java/ …
有没有什么办法从Bash脚本dynamic地确定Java主目录,这样我就可以在大多数Unix / linux下工作了? 我可以在晚上睡得更好,做一些事情:
jar文件双击不打开
在windows和linux上,file.exists返回不同的结果
用VB.NET客户端的Java套接字服务器?
发送本机事件
杀-3返回空
JAVA_HOME=\”$( … )\” Jsvc … -home \”$JAVA_HOME\” …
…而不是为每个单独的 *** 作系统进行硬编码。 有没有一种方法,给定一个java二进制文件,我可以find其JVM / JRE的主目录?
hadoop命令如何与javac一起使用
configurationjenkins不同的user.home
使用Java 8在windows上deBUGgingspark过程
seleniumIEDriver问题启动IE NoSuchWindowException
下载远程文件到本地目录在windows中
不知道这是否跨越* nixes,但找到了这个解决方案:
JAVA_HOME=\”$( readlink -f \”$( which java )\” | sed \”s:bin/.*$::\” )\”
我已经在Ubuntu上测试过它,但它对OSX无效。
我的解决方案是编译本地的linux源代码作为主要的Jsvc页面在http://commons.apache.org/proper/commons-daemon//Jsvc.HTML
这是我一步一步的程序
下载www.fightrice.com/mirrors/apache/commons/daemon/source/commons-daemon-1.0.13-src.tar.gz
一旦你解压文件,然后去….. / commons-daemon-1.0.13-src / src / native / unix
在终端作为根做以下几点:
$ support / buildconf.sh
$ ./configure –with-java = / usr / lib / jvm / default-java
$ make
测试生成的Jsvc二进制应用程序
$ ./Jsvc -help
有用! 干净。
使用dirname和which命令来查找Java的bin目录:
echo `dirname `which java“ JAVA_HOME=`dirname `which java“
…只有当Java已经在$PATH上时才有效。
另一种方法是:
type -p java
预计这将返回正确的JAVA安装文件夹。
总结
以上是内存溢出为你收集整理的找不到Java家全部内容,希望文章能够帮你解决找不到Java家所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容