4

我在来自http://www.freebsdfoundation.org/downloads/java.shtml的 FreeBSD 7.2 盒子(运行 PFSense)上同时拥有 Java JRE 和 Java JDK

find / -name gives me output like:
/usr/local/diablo-jre1.6.0/bin/java
/usr/local/diablo-jdk1.6.0/bin/java
/usr/local/diablo-jdk1.6.0/jre/bin/java

所以我像这样链接到 /usr/local/bin :

 ln /usr/local/diablo-jre1.6.0/bin/java /usr/local/bin/java

现在我得到了

# rehash
# java
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.

SOOOOOO,我想知道是否有一些工具可以用来打开类似于 Ubuntus 的 /etc/jvm 的特定 java vm?

4

3 回答 3

3

/usr/local/diablo-jre1.6.0/bin/java应用程序可能libjava.so相对于应用程序本身的位置进行定位java。通过创建硬链接java并通过该硬链接执行它,您可能已经破坏了该机制。

建议:

  • 放在/usr/local/diablo-jre1.6.0/bin你的搜索路径上。
  • java为而不是链接创建别名。
  • 将硬链接替换为符号链接;即ln -s用来创建它。
于 2011-01-25T02:36:11.757 回答
2

FreeBSD 软件包应该已经在 /usr/local/bin/java 中安装了一个包装脚本,它知道不同的已安装 JVM,以及它们的 JAVA_HOME 等。您是否偶然下载了 tarball 而不是软件包?

产生什么pkg_info | grep jdk

于 2011-01-25T09:38:20.163 回答
0

如果这是在监狱中,您可能需要暂时移动 /proc,以便它不会尝试使用它来查找 Java 库的位置。被这个咬了!

于 2015-01-29T09:58:10.693 回答