如何在FreeBSD上安装Java?

4

我在一个运行PFSense的FreeBSD 7.2系统上同时安装了Java JRE和Java JDK,下载链接为http://www.freebsdfoundation.org/downloads/java.shtml

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.

那么,我想知道是否有一种工具可以用来启动特定的Java虚拟机,类似于Ubuntu的/etc/jvm?


你可以在superuser.com上获得更多帮助。 - Vivin Paliath
2
这个问题应该发布在http://unix.stackexchange.com上。 - YasirA
@Yasir 我需要跟上新的StackExchange网站! - Vivin Paliath
1
是的,我甚至不知道有一个unix.stackexchange.com网站.... 我选择了stackoverflow而不是superuser,因为我认为开发人员会比管理员更懂如何更换jvm。 - boatcoder
@Mark0978:很有可能最终结果是JVM不需要改变。 - YasirA
它可能适合于多个网站。我无法确定它是否适用于这里,因为您正在安装JDK。 - user1228
3个回答

3
可能 /usr/local/diablo-jre1.6.0/bin/java 应用程序是根据 java 应用程序本身的位置来定位 libjava.so 的。通过创建到 java 的硬链接并通过该硬链接执行它,您可能已经破坏了这种机制。
建议:
  • /usr/local/diablo-jre1.6.0/bin 添加到搜索路径中。
  • 创建 java 的别名而不是链接。
  • 用符号链接替换硬链接;即使用 ln -s 创建它。

2

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

pkg_info | grep jdk会输出什么结果?


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接