分类 分享 下的文章

在使用 Java 开发时,正确配置开发环境至关重要。特别是对于使用 Visual Studio Code (VS Code) 的程序员来说,确保安装和配置适当的 Java Development Kit (JDK) 是关键的一步。本文将带你通过安装 JDK、配置环境变量以及在 VS Code 中设置 Java 版本的完整流程。

1. 下载并安装 JDK

首先,你需要下载并安装合适的 JDK 版本。我推荐使用 OpenLogic 提供的 OpenJDK 版本,因为它免费且可靠。你可以访问OpenLogic OpenJDK下载页面来选择适合你操作系统的版本。根据需要选择 Java Version、Operating System、Architecture 和 Java Package,然后下载 .zip 文件。

下载完成后,解压缩文件,并将其中的 bin 文件夹路径添加到系统的环境变量中。

2. 配置环境变量

在你解压缩 JDK 文件后,需要配置环境变量,以便系统能够识别 Java 命令。

Windows

  1. 打开 系统属性 -> 高级系统设置 -> 环境变量
  2. 系统变量 部分,找到 Path,并进行编辑。
  3. 添加 JDK 的 bin 目录路径。例如:C:\Program Files\Java\openlogic-openjdk-21.0.4+7-windows-x64\bin

macOS / Linux

  1. 编辑 ~/.bashrc~/.zshrc~/.bash_profile 文件,添加以下行:

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-XX.X.X.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
  2. 保存并关闭文件,然后运行 source ~/.bashrcsource ~/.zshrc 使其生效。

3. 在 VS Code 中安装 Java 扩展

为了在 VS Code 中更好地开发 Java 项目,你需要安装 Java 扩展包。

  1. 打开 VS Code。
  2. 转到扩展市场(点击左侧栏中的四方块图标)。
  3. 搜索并安装 “Java Extension Pack”。该扩展包包含多个有用的工具,如 Language Support for Java™ by Red Hat、Debugger for Java、Maven for Java 等。

4. 在 VS Code 中配置 Java 版本

安装完 Java 扩展包后,你可以通过修改 VS Code 的 settings.json 文件来指定 Java 版本。

  1. 打开 VS Code,按 Ctrl + ,(Windows)或 Cmd + ,(macOS)进入设置。
  2. 搜索 “Java: Home”,找到配置选项。
  3. 点击“编辑”图标,这会打开 settings.json 文件。你可以手动添加或修改 Java 的路径。例如:

    "java.home": "E:\\openlogic-openjdk-21.0.4+7-windows-x64"

5. 切换 Java 版本

如果你安装了多个 JDK 版本,可以通过更新 java.home 配置来切换版本。你还可以使用多版本管理工具,如 macOS/Linux 上的 jEnv,来更方便地管理多个 JDK 版本。

完成以上步骤后,你就可以在 VS Code 中顺利地使用你指定的 Java 版本了。通过在终端运行 java -version,你可以确认当前使用的 Java 版本是否正确。

通过这些步骤,你已经成功配置了 Java 开发环境,并可以在 VS Code 中高效编写和调试 Java 程序了!

由于某种不可抗力,在serv00自动重启之后pm2 list会自动还原成没有应用存在的情况。

我的解决办法就是把.pm2文件夹下面的dump.pm2文件放到其他地方,然后再建立软链接,确保pm2读取时文件的位置不变

mv ~/.pm2/dump.pm2 /home/xxx/opt/dump.pm2
ln -s /home/xxx/opt/dump.pm2 ~/.pm2/dump.pm2

配置

  1. 【开启权限】第一步需要做的就是开启可以运行自己应用的权限。Additional services -> Run your own applications -> Enabled 如果不开启这一项,自己的用户目录下的所有文件都无法添加可执行权限。
  2. 【进入SSH】通过注册邮箱里收到的信息,用任意一个shell客户端登录,就可以看到下面的信息。
  ____                   ___   ___
 / ___|  ___ _ ____   __/ _ \ / _ \  ___ ___  _ __ ___
 \___ \ / _ \ '__\ \ / / | | | | | |/ __/ _ \| '_ ` _ \
  ___) |  __/ |   \ V /| |_| | |_| | (_| (_) | | | | | |
 |____/ \___|_|    \_/  \___/ \___(_)___\___/|_| |_| |_|
  Revolutionary Free Hosting

 =[ Basic account info ]=
         Username: xxx
             Plan: FREE
  Expiration date: 2034-03-13 02:18:41

安装PM2

PM2 是一款非常优秀的node.js进程管理工具。可以通过SSH用下面的指令一键安装。

bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)

使用pm2,请直接用路径调用:~/.npm-global/bin/pm2,例如~/.npm-global/bin/pm2 list 就可以看到自己添加的应用。

安装 v2ray (可以直接看②)

① 查看系统

回到之前登录的 ssh 界面
输入 uname -a 查看服务器系统

FreeBSD s2.serv00.com 13.2-RELEASE-p10 FreeBSD 13.2-RELEASE-p10 #4 releng/13.2-n254661-a839681443b6-dirty: Tue Feb 20 23:03:40 CET 2024 [email protected]:/usr/obj/usr/src/amd64.amd64/sys/devil amd64

我这儿返回的是这样的,FreeBSD amd64

② 下载 v2ray

cd ./domains/ 
mkdir v2ray 
cd v2ray 
wget https://github.com/v2fly/v2ray-core/releases/download/v5.14.1/v2ray-freebsd-64.zip #选择对应系统的版本下载v2ray

(可以不用看)

由于没有 root 权限,我们无法使用官方提供的一键安装脚本,只能自行手动安装。前往 https://github.com/v2fly/v2ray-core/releases 找到你的系统版本所对应的 v2ray 版本
我这个服务器的系统是 FreeBSD amd64,那么我就找的是 freebsd-64.zip
右键这个 zip 地址,复制下载连接。
然后回到 ssh 中,输入代码

等待下载完成之后,ls 查看当前目录文件,可以看到这个 zip 包已经在这个目录里了。

③ 配置 v2ray

还是在刚刚的 v2ray 目录下

unzip v2ray-freebsd-64.zip #这边换成你刚刚下载的对应的zip包

然后等待解压完成,再执行 ls 命令时能看到很多个文件

./v2ray version

先验证下能否正常启动
V2Ray 5.14.1 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.22.0 freebsd/amd64) A unified platform for anti-censorship.
我这边正确的返回版本号了,如果提示其他异常的话,请检查一下下载的 v2ray 版本是否是你服务器系统所适配的版本。

./v2ray uuid

这边生成一个 uuid 后面配置的时候会用到

④ 配置 config

在serv00的管理页面上开启一个端口,Port reservation -> Add port添加一个TCP的端口号。再在File Manager 里面找到v2ray的文件下的config.json文件,把里面内容替换为下面内容。其中port和id需要改动。

{
    "log": {
        "loglevel": "warning"
    },
    "routing": {
        "domainStrategy": "AsIs",
        "rules": [
            {
                "type": "field",
                "ip": [
                    "geoip:private"
                ],
                "outboundTag": "block"
            }
        ]
    },
    "inbounds": [
        {
            "listen": "0.0.0.0",
            "port": xxxx,  //你的端口
            "protocol": "vless",
            "settings": {
              "decryption":"none",
                "clients": [
                    {
                        "id": "你的uuid"
                        
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp"
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "tag": "direct"
        },
        {
            "protocol": "blackhole",
            "tag": "block"
        }
    ]
}

⑤ 启动 v2ray

pm2 start ./v2ray --name my-v2ray -- run
~/.npm-global/bin/pm2 save

启动本地代理

接着去你的代理客户端软件中手动添加vless配置即可:

KeyValue
地址Panel 中 WWW Websites 选项卡里的你的 Domain name
端口你放行的端口
用户 IDuuid

上表没有给出的可以不填。

自动化

听说serv00会不定时重启机器,所以我们把PM2添加开机自启。而且serv00每三个月内必须要有一次登录面板或者SSH连接,不然会删号,也可以通过一个脚本解决问题,接下来我会详细说明。

自动续期

新建 auto-renew.sh 脚本:

cat > auto-renew.sh << EOF
#!/bin/bash

while true; do
  sshpass -p '密码' ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -tt 用户名@地址 "exit" &
  sleep 259200  #30天为259200秒
done
EOF

我是新建了一个opt目录,在opt目录下创建这个脚本。另外记得把其中的密码、用户名、ssh的地址修改为你自己的。

auto-renew.sh添加可执行权限:

chmod +x auto-renew.sh

使用PM2启动:

~/.npm-global/bin/pm2 start ./auto-renew.sh

这样就会每隔一个月自动执行一次SSH连接,自己SSH自己进行续期。

自动启动

在serv00的管理页面上找到Cron jobs选项卡,使用Add cron job功能添加任务,Specify time选择After reboot,即为重启后运行。Form type选择AdvancedCommand写:

/home/你的用户名/.npm-global/bin/pm2 resurrect

添加完之后,在SSH窗口保存PM2的当前任务列表快照:

~/.npm-global/bin/pm2 save

这样每次serv00不定时重启任务时,都能自动调用PM2读取保存的任务列表快照,恢复任务列表。如果在保存了任务列表快照后又改变了任务PM2的任务列表,需要重新执行pm2 save以更新任务列表。

参考链接:

  1. serv00免费10年虚拟主机安装PM2和Vless
  2. 非 root 用户自建 v2ray 梯子 (serv00-vmess)

  1. 创建 systemd 服务文件

    首先,创建一个新的 systemd 服务文件:

    sudo nano /etc/systemd/system/syncthing.service
  2. 添加以下内容到服务文件

    [Unit]
    Description=Syncthing - Open Source Continuous File Synchronization
    Documentation=https://docs.syncthing.net/
    After=network.target
    
    [Service]
    User=your_username
    ExecStart=/opt/syncthing/syncthing -no-browser
    Restart=on-failure
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target

    请将 your_username 替换为实际的用户名。

  3. 重新加载 systemd 配置

    sudo systemctl daemon-reload
  4. 启用并启动 Syncthing 服务

    sudo systemctl enable syncthing
    sudo systemctl start syncthing

检查 Syncthing 状态

使用以下命令来检查 Syncthing 是否正在运行:

systemctl status syncthing

或者,如果你使用了 init.d

sudo service syncthing status

清华大学镜像站:

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ buster/updates main contrib non-free

中科大镜像站:

deb https://mirrors.ustc.edu.cn/debian/ buster main contrib non-free
deb https://mirrors.ustc.edu.cn/debian/ buster-updates main contrib non-free
deb https://mirrors.ustc.edu.cn/debian/ buster-backports main contrib non-free
deb https://mirrors.ustc.edu.cn/debian-security/ buster/updates main contrib non-free

阿里云镜像站:

deb http://mirrors.aliyun.com/debian/ buster main contrib non-free
deb http://mirrors.aliyun.com/debian-security buster/updates main
deb http://mirrors.aliyun.com/debian/ buster-updates main contrib non-free
deb http://mirrors.aliyun.com/debian/ buster-backports main contrib non-free

上海交大镜像站:

deb https://mirror.sjtu.edu.cn/debian/ buster main contrib non-free
deb https://mirror.sjtu.edu.cn/debian/ buster-updates main contrib non-free
deb https://mirror.sjtu.edu.cn/debian/ buster-backports main contrib non-free
deb https://mirror.sjtu.edu.cn/debian-security/ buster/updates main contrib non-free