Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell行为:两个(相同?)实例在java中的行为不同_Java_Bash_Shell_Environment Variables_Freebsd - Fatal编程技术网

Shell行为:两个(相同?)实例在java中的行为不同

Shell行为:两个(相同?)实例在java中的行为不同,java,bash,shell,environment-variables,freebsd,Java,Bash,Shell,Environment Variables,Freebsd,我正在运行FreeBSD 8.0-RELEASE GENERIC 0:Sat Nov 21 15:02:08 UTC 2009,并使用Putty从Win7机器访问它。我在stackoverflow上发现了一些FreeBSD设置问题,这些问题解决了Java为什么不能运行的问题,但我不明白为什么它有时会运行。它看起来是随机的,它破坏了我没有编写的shell脚本的功能&没有错误处理,因此我最终会导致数据损坏,除非在运行shell脚本之前,每次我都键入 $java 只是为了确保它正常工作,而不是 错误:

我正在运行FreeBSD 8.0-RELEASE GENERIC 0:Sat Nov 21 15:02:08 UTC 2009,并使用Putty从Win7机器访问它。我在stackoverflow上发现了一些FreeBSD设置问题,这些问题解决了Java为什么不能运行的问题,但我不明白为什么它有时会运行。它看起来是随机的,它破坏了我没有编写的shell脚本的功能&没有错误处理,因此我最终会导致数据损坏,除非在运行shell脚本之前,每次我都键入

$java

只是为了确保它正常工作,而不是

错误:找不到libjava.so

错误:找不到Java 2运行时环境

这似乎是随机发生的

例如,当我第一次登录到服务器时

ssh服务器名

导出路径=/home/223fms/bin:/usr/java/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin::/usr/X11R6/bin:/home/223fms/:


根据您的描述,这是在登录之前随机发生的。一旦你登录,它要么总是工作,要么不工作,这就是你建议测试的原因,对吗

那么,如果机器在负载平衡器后面,那么每次您可能都会登录到不同的机器。在任何情况下,不同机器的环境都是不同的

如果环境是通过远程连接中的脚本设置的(例如NFS已安装,且网络不稳定),也可能发生这种情况。所以要么是正确设置,要么不是,但这是在一开始就完成的


我建议您只记录env的输出和java的调用,以找到它的源代码。

检查java\u HOME环境变量。对于应该在其中找到libjava.so的动态库,可能还有一个变量。另外,为什么要将其标记为linux?您是否在FreeBSD上使用Linux JRE?BSD系统与Linux没有遗传上的联系。请记住,可以使用一些发行版发布Java的开源实现。如果在系统上安装Sun或其他Java发行版,则可能会出现可执行文件和lib的冲突。如上所述,确保设置了JAVA_HOME变量,并确保在当前运行的shell中设置了该变量。