分类 运维 下的文章

如果系统中安装的是解压版的JDK,无法自行关联jar文件,则需要手动执行文件关联,使可运行jar文件可以直接双击打开。

1. 确保JAR文件可执行

首先,JAR文件本身需要包含可执行的清单文件(MANIFEST.MF),其中有Main-Class指定入口类:

Manifest-Version: 1.0
Main-Class: com.example.MainClass

2. 关联JAR文件到Java运行时

Windows系统:

方法一:使用命令关联

# 以管理员身份运行命令提示符,执行:
ftype jarfile="%JAVA_HOME%\bin\javaw.exe" -jar "%1" %*
assoc .jar=jarfile

需要确保环境变量中设置了JAVA_HOME,否则需要将%JAVA_HOME%替换为JDK的安装路径。

方法二:通过注册表

创建或修改注册表项:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.jar]
@="jarfile"

[HKEY_CLASSES_ROOT\jarfile]
@="Java Archive"

[HKEY_CLASSES_ROOT\jarfile\shell\open\command]
@="\"<JDK安装路径>\\bin\\javaw.exe\" -jar \"%1\" %*"

Linux系统:

# 安装Java运行时关联
sudo update-alternatives --install /usr/bin/java java <JDK安装路径>/bin/java 1

# 或者手动关联
chmod +x your-app.jar
# 编辑 ~/.bashrc 添加别名
alias runjar='java -jar'

macOS系统:

# 使用Java Launcher服务
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javalauncher

配置完成后,双击JAR文件就能像安装版一样直接运行了!

示例:

主机IP:192.168.0.15
主机网卡:enp2s0
虚拟机IP:192.168.32.128
虚拟机网卡:vmnet8

主要操作

# 1. 开启内核转发
sudo sysctl -w net.ipv4.ip_forward=1
sudo sed -i '/^#*net.ipv4.ip_forward=/d' /etc/sysctl.conf
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf

# 2. 清除旧规则(可选)
sudo iptables -F
sudo iptables -t nat -F

# 3. 允许两网段互相转发
sudo iptables -A FORWARD -i enp2s0 -o vmnet8 -j ACCEPT
sudo iptables -A FORWARD -i vmnet8 -o enp2s0 -j ACCEPT

# 4. 添加 SNAT(关键部分)
#   让来自 192.168.0.0/24 的包,在发往 192.168.32.0/24 时伪装成 192.168.32.1
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.32.0/24 -j SNAT --to-source 192.168.32.1

# 5. 保存规则(根据系统不同选择一个)
sudo apt install -y iptables-persistent
sudo netfilter-persistent save

其他操作

监听网卡IP数据进出

sudo tcpdump -i enp2s0 host 192.168.32.128
sudo tcpdump -i vmnet8 host 192.168.32.128

清理主机ARP和路由缓存

sudo ip route flush cache
sudo ip neigh flush all

驱动信息

执行 lspci | grep Network 查看硬件

$ lspci | grep Network
04:00.0 Network controller: Intel Corporation Wireless 7260 (rev 73)

根据查询结果,可得知硬件型号是 Intel Corporation Wireless 7260

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/ 页面中,找到 iwlwifi-7260-17.ucode 并点击,在新的页面中点击plain 执行驱动文件下载。

将下载的文件复制到 /lib/firmware/ 目录下,然后执行 nmcli device wifi list 查找WIFI信号。

执行 nmcli device wifi connect "Wi-Fi名称" password "密码" 连接WIFI。