当前位置: 首页 > article >正文

Debian 12 + VMware 17保姆级避坑指南:从换源到多版本JDK,一次搞定开发环境

Debian 12 VMware 17 开发环境全栈配置实战刚接触Linux开发的Java程序员经常会遇到这样的困境明明跟着教程一步步操作却总在某个环节卡住。虚拟机网络不稳定、软件源下载缓慢、多版本JDK切换混乱……这些问题看似简单却能让新手耗费数小时甚至数天时间。本文将从一个真实项目环境搭建的角度带你避开这些坑快速构建一个高效可用的Debian开发环境。1. 虚拟机基础配置优化1.1 VMware Tools安装的正确姿势很多人在安装VMware Tools时都会遇到权限问题或编译错误。实际上Debian 12已经预装了open-vm-tools但为了获得完整功能我们仍需要手动安装官方工具。以下是经过验证的可靠方法# 创建挂载点并挂载虚拟光驱 sudo mkdir -p /mnt/cdrom sudo mount /dev/cdrom /mnt/cdrom # 解压安装包到临时目录 tar xzvf /mnt/cdrom/VMwareTools-*.tar.gz -C /tmp # 安装必要依赖 sudo apt install -y build-essential linux-headers-$(uname -r) # 执行安装脚本 cd /tmp/vmware-tools-distrib/ sudo ./vmware-install.pl -d提示使用-d参数可以让安装程序自动选择默认选项避免交互式提问导致的卡顿。安装完成后常见的共享文件夹问题可以通过以下命令检查vmware-hgfsclient # 查看可用的共享文件夹 sudo mount -t fuse.vmhgfs .host:/ /mnt/hgfs # 挂载共享文件夹1.2 国内软件源配置进阶技巧清华源虽然是国内常用选择但不同地区可能有更优选择。我们可以通过netselect-apt工具自动检测最快的镜像sudo apt install -y netselect-apt sudo netselect-apt -n bookworm生成的sources.list已经是最优配置但我们可以进一步优化deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free deb https://security.debian.org/debian-security bookworm-security main contrib non-free更新软件包索引时添加-o Acquire::Check-Valid-Untilfalse参数可以避免证书过期导致的错误sudo apt update -o Acquire::Check-Valid-Untilfalse sudo apt full-upgrade -y2. 开发工具链精准配置2.1 多版本JDK共存管理实战Debian 12默认只提供JDK 17但实际项目中经常需要同时使用JDK 8和11。以下是经过验证的多版本管理方案首先安装各版本JDK# 安装默认JDK 17 sudo apt install -y default-jdk # 手动安装JDK 8和11 sudo mkdir -p /usr/lib/jvm sudo tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/lib/jvm/ sudo tar -zxvf jdk-11.0.21_linux-x64_bin.tar.gz -C /usr/lib/jvm/然后配置alternatives系统# 注册Java可选项 sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_391/bin/java 800 \ --slave /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_391/bin/javac \ --slave /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_391/bin/jar sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-11.0.21/bin/java 1100 \ --slave /usr/bin/javac javac /usr/lib/jvm/jdk-11.0.21/bin/javac \ --slave /usr/bin/jar jar /usr/lib/jvm/jdk-11.0.21/bin/jar sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1700 \ --slave /usr/bin/javac javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac \ --slave /usr/bin/jar jar /usr/lib/jvm/java-17-openjdk-amd64/bin/jar切换版本时使用sudo update-alternatives --config java注意使用--slave参数可以确保javac和jar命令同步切换避免编译环境不一致的问题。2.2 Maven配置优化默认的Maven配置下载速度慢且容易超时。我们可以通过以下配置大幅提升构建效率!-- /etc/maven/settings.xml -- settings mirrors mirror idaliyun/id nameAliyun Maven/name urlhttps://maven.aliyun.com/repository/public/url mirrorOfcentral/mirrorOf /mirror /mirrors profiles profile iddefault/id activation activeByDefaulttrue/activeByDefault /activation properties maven.compiler.source1.8/maven.compiler.source maven.compiler.target1.8/maven.compiler.target /properties /profile /profiles /settings同时设置本地仓库权限sudo chown -R $(whoami):$(whoami) ~/.m23. 开发环境高级调优3.1 网络与DNS优化虚拟机网络经常出现DNS解析缓慢的问题。我们可以配置静态DNS并禁用IPv6sudo nano /etc/systemd/resolved.conf修改为以下内容[Resolve] DNS223.5.5.5 114.114.114.114 FallbackDNS8.8.8.8 1.1.1.1 Domains~. LLMNRno MulticastDNSno DNSSECno Cacheyes DNSStubListenerno然后重启网络服务sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf sudo systemctl restart systemd-resolved3.2 终端环境增强默认的bash配置功能有限建议安装zsh并配置oh-my-zshsudo apt install -y zsh git curl sh -c $(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)推荐插件配置plugins( git zsh-autosuggestions zsh-syntax-highlighting docker mvn gradle )3.3 性能监控工具安装常用监控工具方便排查性能问题sudo apt install -y htop iotop iftop nmon sysstat配置sysstat启用详细监控sudo sed -i s/ENABLEDfalse/ENABLEDtrue/ /etc/default/sysstat sudo systemctl enable sysstat sudo systemctl start sysstat4. 项目实战配置案例4.1 Spring Boot项目环境对于Spring Boot项目我们需要配置正确的JAVA_HOME。最佳实践是在/etc/profile.d/下创建单独的文件sudo nano /etc/profile.d/java_env.sh内容如下# 动态获取当前选择的Java路径 export JAVA_HOME$(dirname $(dirname $(readlink -f $(which java)))) export PATH$JAVA_HOME/bin:$PATH然后使配置生效source /etc/profile4.2 微服务项目配置在开发微服务项目时经常需要修改hosts文件。我们可以使用脚本动态管理#!/bin/bash # /usr/local/bin/update-hosts echo 192.168.73.128 master | sudo tee -a /etc/hosts echo 192.168.73.129 slave | sudo tee -a /etc/hosts赋予执行权限sudo chmod x /usr/local/bin/update-hosts4.3 数据库连接配置开发环境中常用的MySQL连接工具配置sudo apt install -y mysql-client创建~/.my.cnf文件避免每次输入密码[client] userdev_user passworddev_password host192.168.73.130设置适当权限chmod 600 ~/.my.cnf

相关文章:

Debian 12 + VMware 17保姆级避坑指南:从换源到多版本JDK,一次搞定开发环境

Debian 12 VMware 17 开发环境全栈配置实战 刚接触Linux开发的Java程序员经常会遇到这样的困境:明明跟着教程一步步操作,却总在某个环节卡住。虚拟机网络不稳定、软件源下载缓慢、多版本JDK切换混乱……这些问题看似简单,却能让新手耗费数小…...

蓝桥杯单片机DS18B20温度读取避坑指南:从函数名拼错到数码管显示的完整流程

蓝桥杯单片机DS18B20温度读取避坑指南:从函数名拼错到数码管显示的完整流程 第一次接触蓝桥杯单片机开发的新手们,往往会在DS18B20温度传感器的使用上栽跟头。这个看似简单的数字温度传感器,在实际编程中却暗藏不少"坑"——从函数名…...

告别KNN和RPE:Point Transformer V3如何用‘空间填充曲线’和‘补丁注意力’实现3倍速与10倍内存效率提升?

Point Transformer V3:空间填充曲线与补丁注意力如何重塑3D点云处理效率 在3D点云处理领域,传统Transformer架构长期受困于两个效率瓶颈:KNN邻域构建的昂贵计算代价和相对位置编码(RPE)带来的内存开销。当处理包含数十…...

如何用Stream-Translator轻松打破语言壁垒:实时直播翻译的终极指南

如何用Stream-Translator轻松打破语言壁垒:实时直播翻译的终极指南 【免费下载链接】stream-translator 项目地址: https://gitcode.com/gh_mirrors/st/stream-translator 你是否曾因语言障碍而错过精彩的国际直播?Stream-Translator正是为你量身…...

emilianJR/chilloutmix_NiPrunedFp32Fix多语言支持:跨文化创意表达的终极指南

emilianJR/chilloutmix_NiPrunedFp32Fix多语言支持:跨文化创意表达的终极指南 【免费下载链接】chilloutmix_NiPrunedFp32Fix 项目地址: https://ai.gitcode.com/hf_mirrors/emilianJR/chilloutmix_NiPrunedFp32Fix emilianJR/chilloutmix_NiPrunedFp32Fix是…...

AI接口统一适配器:基于OpenAI标准整合多模型服务

1. 项目概述:一个AI接口适配器的诞生 最近在折腾各种AI工具的时候,发现一个挺头疼的问题:市面上的AI服务越来越多,什么ChatGPT、DeepSeek、Coze、Cursor,每个都有自己的API接口,格式五花八门。想在自己的项…...

R 4.5低代码数据分析工具配置(2024年Q3唯一兼容RStudio Server Pro 2024.06+的认证方案)

更多请点击: https://intelliparadigm.com 第一章:R 4.5低代码数据分析工具配置 R 4.5 引入了对低代码分析工作流的原生支持,核心依赖于 shiny、flexdashboard 和 golem 三大框架的协同集成。配置前需确保系统满足最低运行环境要求&#xff…...

【金融风控实战黄金法则】:R语言VaR计算提速300%的7个底层优化技巧(附银行级代码库)

更多请点击: https://intelliparadigm.com 第一章:VaR计算在金融风控中的核心定位与性能瓶颈诊断 VaR的核心风控价值 VaR(Value at Risk)作为衡量市场风险敞口的标准化指标,被全球主流金融机构广泛用于资本配置、限额…...

紧急预警:PHP 8.9.0–8.9.3存在分块哈希校验绕过漏洞(CVE-2024-XXXXX草案):立即升级并替换这5行高危代码

更多请点击: https://intelliparadigm.com 第一章:PHP 8.9 大文件分块处理代码 在 PHP 8.9 中,原生支持更高效的流式 I/O 和内存映射增强,为超大文件(如 ≥2GB 的日志、视频或数据库导出文件)的分块读写提…...

STK姿态分析避坑指南:矢量、平面、角度组件的常见设置误区与正确用法

STK姿态分析避坑指南:矢量、平面、角度组件的常见设置误区与正确用法 在卫星任务仿真中,姿态分析是验证传感器指向、通信链路稳定性和轨道控制精度的关键环节。许多工程师虽然能够熟练插入STK的Vector、Plane和Angle组件,却在复杂场景中频繁遭…...

使用Taotoken后如何通过账单追溯各项目的AI调用成本

使用Taotoken后如何通过账单追溯各项目的AI调用成本 1. 账单概览与核心维度 Taotoken平台为团队用户提供了多维度的账单分析功能,帮助管理者清晰掌握AI调用成本分布。在控制台的「账单与用量」页面,默认展示当前计费周期的总消耗金额和Token用量&#…...

终极指南:如何用WeChatMsg永久保存微信聊天记录,完整免费方案

终极指南:如何用WeChatMsg永久保存微信聊天记录,完整免费方案 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub…...

ARM SME2指令集:FMLAL与FMLSL浮点运算优化

1. ARM SME指令集与浮点运算概述在当代处理器架构中,SIMD(单指令多数据)和矩阵运算加速已成为提升计算性能的关键技术。ARMv9架构引入的SME(Scalable Matrix Extension)指令集扩展,特别是其第二代增强SME2&…...

nvim-ts-autotag插件架构设计:可扩展性与维护性分析

nvim-ts-autotag插件架构设计:可扩展性与维护性分析 【免费下载链接】nvim-ts-autotag Use treesitter to auto close and auto rename html tag 项目地址: https://gitcode.com/gh_mirrors/nv/nvim-ts-autotag 一、核心架构概览 nvim-ts-autotag是一款基于…...

PHP扩展签名验证全失效?教你用GPG+SElinux+ELF符号加固构建不可篡改的扩展信任链(附自动化签发工具链)

更多请点击: https://intelliparadigm.com 第一章:PHP扩展签名验证全失效?教你用GPGSElinuxELF符号加固构建不可篡改的扩展信任链(附自动化签发工具链) 为什么传统PHP扩展签名形同虚设 PHP官方未内置扩展二进制签名验…...

从‘localhost:3000’到‘myapp.test’:给前端新手的小白级本地域名配置指南

从‘localhost:3000’到‘myapp.test’:给前端新手的小白级本地域名配置指南 每次启动前端项目,面对浏览器地址栏里冷冰冰的localhost:3000,你是否想过给它换个更有意义的马甲?想象一下——当你的项目拥有myapp.test这样专业的域…...

Zotero AI插件:如何用人工智能让文献管理效率提升300%

Zotero AI插件:如何用人工智能让文献管理效率提升300% 【免费下载链接】zotero-gpt GPT Meet Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-gpt 你是否还在为堆积如山的文献感到焦虑?每天面对几十篇论文,手动整理摘要…...

Schedule-X部署指南:从开发到生产环境的最佳实践

Schedule-X部署指南:从开发到生产环境的最佳实践 【免费下载链接】schedule-x JavaScript event calendar. Modern alternative to fullcalendar and react-big-calendar. 项目地址: https://gitcode.com/gh_mirrors/sc/schedule-x Schedule-X是一款现代化的…...

传统 IT 策略失效,Kaseya 助力构建互联 IT 生态,降本增效提升安全态势

传统 IT 策略失效,Kaseya 助力企业构建互联 IT 生态,提升效率、降低成本传统的 IT 策略已然失效。随着企业规模扩大,受攻击面、用户数量和支持工单随之增加。每个新客户或服务缺口都急需新的单点解决方案,导致人员数量激增&#x…...

终极HRM快速入门指南:10分钟搭建高效推理AI系统

终极HRM快速入门指南:10分钟搭建高效推理AI系统 【免费下载链接】HRM Hierarchical Reasoning Model Official Release 项目地址: https://gitcode.com/GitHub_Trending/hrm11/HRM Hierarchical Reasoning Model(HRM)是一款革命性的人…...

本地AI工作台WormGPT部署指南:集成Ollama与20+开发工具

1. 项目概述:一个功能全面的本地AI聊天界面最近在折腾本地大模型应用的时候,发现了一个挺有意思的项目,叫 WormGPT。这名字听起来有点“黑客”味儿,但别误会,它本质上是一个基于 Ollama 本地大模型的、功能极其丰富的聊…...

使用OpenClaw CLI快速配置Taotoken到现有AI工作流

使用OpenClaw CLI快速配置Taotoken到现有AI工作流 1. 准备工作 在开始配置之前,请确保已安装OpenClaw CLI工具。如果尚未安装,可以通过npm进行全局安装或使用npx临时执行。安装完成后,运行openclaw --version确认工具已正确安装并可用。 同…...

3分钟搞定百度文库文档:127行代码让你免费保存任何资料

3分钟搞定百度文库文档:127行代码让你免费保存任何资料 【免费下载链接】baidu-wenku fetch the document for free 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wenku 还在为百度文库的付费文档而头疼吗?每次找到需要的资料,…...

Windows 11安卓子系统终极指南:免费安装与完整配置教程

Windows 11安卓子系统终极指南:免费安装与完整配置教程 【免费下载链接】WSA Developer-related issues and feature requests for Windows Subsystem for Android 项目地址: https://gitcode.com/gh_mirrors/ws/WSA 想要在Windows电脑上无缝运行手机应用吗&…...

BLIP图像描述生成进阶:条件生成vs无条件生成深度对比

BLIP图像描述生成进阶:条件生成vs无条件生成深度对比 【免费下载链接】blip-image-captioning-base 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/blip-image-captioning-base BLIP(Bootstrapping Language-Image Pre-training&…...

FastGithub:GitHub访问加速终极解决方案

FastGithub:GitHub访问加速终极解决方案 【免费下载链接】FastGithub github定制版的dns服务,解析访问github最快的ip 项目地址: https://gitcode.com/gh_mirrors/fa/FastGithub 你是否曾经因为GitHub访问缓慢而烦恼?当你在关键时刻需…...

TrafficMonitor插件深度配置指南:构建高效系统监控中心的技术方案

TrafficMonitor插件深度配置指南:构建高效系统监控中心的技术方案 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins TrafficMonitor插件系统为Windows系统监控提供了模…...

终极代码修复工具:Qwen2.5-Coder-0.5B的智能调试与优化技巧

终极代码修复工具:Qwen2.5-Coder-0.5B的智能调试与优化技巧 【免费下载链接】Qwen2.5-Coder-0.5B-Instruct 探索编程新境界,Qwen2.5-Coder-0.5B-Instruct模型助您一臂之力!源自阿里云的智能编程助手Qwen,带来更精准的代码生成与优…...

3分钟搞定!让Mem Reduct说中文的完整指南,Windows内存管理从未如此简单

3分钟搞定!让Mem Reduct说中文的完整指南,Windows内存管理从未如此简单 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_m…...

DLSS Swapper终极指南:3步提升游戏性能的免费DLSS管理工具

DLSS Swapper终极指南:3步提升游戏性能的免费DLSS管理工具 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款功能强大的游戏性能优化工具,专门用于管理游戏中的DLSS、FSR和XeSS…...