标签 linux 下的文章

在使用 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 程序了!

  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

问题:

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY F8D2585B8783D481

解决方法:手动导入公钥

  1. 获取并导入公钥: 你可以使用 apt-key 命令手动导入缺少的公钥。

    下面是获取并导入缺少公钥的命令:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F8D2585B8783D481
  2. 更新包列表: 导入公钥后,更新包列表:

    sudo apt-get update

OIP-C

下载arm版本客户端

image-20240724142547411

电脑本地解压缩后上传玩客云,建议是放到/opt文件夹中
给syncthing执行权限
运行syncthing
su - xxx #换成其他用户syncthing不支持root用户运行
./syncthing

随后就会看到有很多信息,看到类似以下内容的时候就可以按 CTRL-C 退出程序了:

[OH4IP] 13:32:15 INFO: Completed initial scan (rw) of folder edatb-zzc5f
[OH4IP] 13:32:15 INFO: Device OH4IPQD-QDCDAZB-YMMZE4F-BAK4BLQ-3EZLPTD-V73J37V-LTW44V6-YSM6JQ7 is "ruter.ga" at [dynamic]
[OH4IP] 13:32:15 INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file or directory
[OH4IP] 13:32:15 INFO: Creating new HTTPS certificate
[OH4IP] 13:32:15 INFO: GUI and API listening on 127.0.0.1:8384
[OH4IP] 13:32:15 INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
[OH4IP] 13:32:16 INFO: Detected 0 NAT devices

我们第一次运行是为了让它创建配置文件,然后我们再进行修改。用以下命令对配置文件进行编辑:

vim /home/xxx/.local/state/syncthing/config.xml  #xxx是你的用户名

到下面这几行:

<gui enabled="true" tls="false" debugging="false">
    <address>127.0.0.1:8384</address>
    <apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey>
    <theme>default</theme>
</gui>

然后把 IP 127.0.0.1 修改成 0.0.0.0 即可保存退出:

<gui enabled="true" tls="false" debugging="false">
    <address>0.0.0.0:8384</address>
    <apikey>2GeGJK9z6tXKP3nHJYU56ZHoYSYnqQ9S</apikey>
    <theme>default</theme>
</gui>

设置好之后执行 syncthing 运行,就可以通过 http://your_ip_addr:8384 来进行访问管理了,如果直接通过外网 IP:端口访问还是无法打开管理页面,那就需要进行防火墙的设置开启 `8384端口了:

iptables -I INPUT -p tcp --dport 8384 -j ACCEPT
service iptables save
service iptables restart
syncthing

再次打开 http://your_ip_addr:8384 就能看见管理页面了

1

可以很明显地看到一条警告信息,提醒我们设置管理用户及密码,点击「设置」,然后把「用户名」和「密码」填写好,「使用加密连接到图形管理页面」这个是开启HTTPS,按需勾选

image-20240724143655837

同步

打开本地管理页面 http://127.0.0.1:8384/,然后点击「添加远程设备」将VPS添加到同步列表里,其中「设备ID」需要在VPS的管理页面打开「操作」–「显示ID」查看,将ID复制到「设备ID」一栏中,「地址列表」默认使用 dynamic 即可,其他按需修改

image-20240724143713764

保存之后我们可以在 VPS 端的管理页面上看见连接请求

image-20240724143733362

添加成功后会有共享文件夹的提示

image-20240724143752798

为了测试文件同步是否成功,我在本地同步路径 C:\Users\Administrator\Sync 添加了一个文件 ROR.txt,自动同步完成后可以在VPS端管理页面看到「最后接收的文件」显示「已更新 ROR.txt」

image-20240724143814067

进阶

在服务器上使用Syncthing可以修改配置文件后使用外网进行访问管理,本地端也可以如法炮制,如果没有外网IP则需要使用花生壳之类的进行映射,具体操作请移步Google :)

Syncthing有一些高级的功能前面没有提及,例如每个共享的文件夹都可以在「选项」内打开「高级设置」,进行一些设置,如开启「版本控制」。

通过Syncthing共享的文件夹,被取消共享后,本地已经同步的文件也依然会存在。

除了自己使用,在小圈子内也是很有利用价值,例如共享资源什么的,再也不用忍受各种网盘的龟速上传下载以及删资源啦!

「玩物志」Syncthing的安装与使用修改