FreeBSD 支持 OracleJDK 与 OpenJDK。OracleJDK 不是原生支持,需要使用 Linux 二进制兼容层。参见 https://www.freebsd.org/java/ 。
JDK
OracleJDK
java/linux-oracle-jdk18
不可用,太久没更新,兼容层所需链接已经失效了。
复制 => Attempting to fetch http://distcache.FreeBSD.org/ports-distfiles/centos/libXtst-1.2.3-1.el7.i686.rpm
fetch: http://distcache.FreeBSD.org/ports-distfiles/centos/libXtst-1.2.3-1.el7.i686.rpm: No error: 0
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/centos and try again.
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/x11/linux-c7-xorg-libs
*** Error code 1
Stop.
make: stopped in /usr/ports/java/linux-oracle-jdk18
参考文献
OpenJDK
查看支持的版本:
复制 root@ykla:~ # pkg search -o jdk
java/bootstrap-openjdk11 Java Development Kit 11
java/bootstrap-openjdk17 Java Development Kit 17
java/bootstrap-openjdk8 Java Development Kit 8
java/openjdk11 Java Development Kit 11
java/openjdk11-jre Java Runtime Environment 11
java/openjdk17 Java Development Kit 17
java/openjdk17-jre Java Runtime Environment 17
java/openjdk18 Java Development Kit 18
java/openjdk19 Java Development Kit 19
java/openjdk20 Java Development Kit 20
java/openjdk21 Java Development Kit 21
java/openjdk22 Java Development Kit 22
java/openjdk23 Java Development Kit 23
java/openjdk8 Java Development Kit 8
java/openjdk8-jre Java Runtime Environment 8
comms/rxtx Native interface to serial ports in Java
以 java/openjdk23
为例:
安装 openjdk23
或者
复制 # cd /usr/ports/java/openjdk23
# make install clean
查看版本:
复制 root@ykla:/ # java -version
openjdk version "23.0.2" 2025-01-21
OpenJDK Runtime Environment (build 23.0.2+7-1)
OpenJDK 64-Bit Server VM (build 23.0.2+7-1, mixed mode, sharing)
但是并未配置 $JAVA_HOME
变量
复制 root@ykla:/ # echo $JAVA_HOME
查看安装路径:
复制 root@ykla:/ # ls /usr/local/openjdk23/
/usr/local/openjdk23/bin/ /usr/local/openjdk23/include/ /usr/local/openjdk23/lib/
/usr/local/openjdk23/conf/ /usr/local/openjdk23/jmods/ /usr/local/openjdk23/man/
/usr/local/openjdk23/demo/ /usr/local/openjdk23/legal/ /usr/local/openjdk23/release
配置环境变量
将
复制 export JAVA_HOME="/usr/local/openjdk23"
export PATH=$JAVA_HOME/bin:$PATH
写入 ~/.bashrc
(bash)、~/.profile
(不知道什么就写这里吧)、~/.shrc
(FreeBSD 默认的 sh)或 ~/.zshrc
(zsh)
刷新环境变量:
复制 root@ykla:/ # . ~/.shrc # 注意那个 2 个点
root@ykla:/ # echo $JAVA_HOME
/usr/local/openjdk23
root@ykla:/ # echo $PATH
/usr/local/openjdk23/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
Eclipse
安装 eclipse
或
复制 # cd /usr/ports/java/eclipse
# make install clean
设置中文
点击 Help
,点击 Install New Software
。
取消勾选 Contact all update sites during install to find required software
,然后点击 Add
:
清除 Location
原有内容,加入 https://mirrors.tuna.tsinghua.edu.cn/eclipse/technology/babel/update-site/latest/
。再点击 Add
:
加载中:
勾选 Babel Language Packs in Chinese (Simplified)
。点击 Next
。
点击 Next
。
同意协议:
这里最好先随便点一下底部,再全选,否则会卡死。
重启即可:
参考文献
HelloWorld
点击 创建 Java 项目
,项目名 test
。
右键创建一个 包
,再创建一个 java 类
,名称 test
。
写入以下内容
复制 package test;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
点击绿色三角,即可看到输出
参考文献
IntelliJ IDEA
安装 IntelliJ IDEA Ultimate
复制 # pkg ins intellij-ultimate
或
复制 # cd /usr/ports/java/intellij-ultimate
# make install clean
查看安装后说明
复制 root@ykla:~ # pkg info -D intellij-ultimate
intellij-ultimate-2024.3.1.1:
On install:
There is a native (faster) file watching support backed by kqueue which is
enabled by default. If you encounter problems with watching large
trees, you can disable it by adding the following property via the menu
entry Help -> Edit Custom Properties...
idea.filewatcher.disabled=true
系统默认启用了基于 kqueue 的内置(更快的)文件监视支持。若您监视大型目录结构时出现了问题,可以通过菜单路径 Help
(帮助) -> Edit Custom Properties...
(编辑自定义属性……)添加以下属性来禁用该功能:
复制 idea.filewatcher.disabled=true
使用
似乎无法使用,一直报错 编辑器中的文件不可运行
,但是 Windows 版本下是正常的,已经报告 Bug 285130 - Port java/intellij-ultimate always show This file in the editor in not runnable
社区版是正常的,但是很久没有更新了。还是 2020.2。
故障排除
提示“the file in the editor is not runnable”,待解决