Ubuntu上Java开发有哪些最佳实践
小樊
36
2025-11-18 18:06:09
Ubuntu上Java开发最佳实践
一 环境搭建与版本管理
- 使用包管理器安装OpenJDK(如:sudo apt install default-jdk 或指定版本 openjdk-11-jdk),安装后用 java -version / javac -version 验证;如需特定版本或手动安装,可下载 tar.gz 解压至 /usr/local 并配置环境变量。
- 统一并正确设置 JAVA_HOME 与 PATH(如:JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64;PATH=$JAVA_HOME/bin:$PATH),修改后执行 source ~/.bashrc 或 source /etc/environment 使其生效。
- 多JDK并存时使用 update-alternatives --config java 切换默认版本,避免系统自带或旧版 gij 干扰。
- 多项目并行建议使用 jEnv 管理 JDK 版本,并在 IDE(IntelliJ/Eclipse) 中显式指定项目 SDK,确保编译与运行一致。
二 构建、依赖与项目结构
- 采用 Maven/Gradle 标准化构建与依赖管理,避免手工维护 CLASSPATH;Maven 项目在 pom.xml 中声明依赖(如 Hibernate),通过坐标与版本管理第三方库。
- 使用 Git 进行版本控制:安装后配置 git config --global user.name/email,按功能分支开发,提交前执行 git add . / git commit -m “…”,保持提交信息清晰可追溯。
- 工程结构遵循约定(如标准源码目录、资源目录与测试目录分离),并在 CI 中固定 JDK 版本 与依赖版本,减少“在我机器上能跑”的问题。
三 编码、调试与运行
- 日常开发优先使用 IDE(IntelliJ IDEA/Eclipse/NetBeans) 提升编码、重构、断点调试与测试效率;命令行场景可用 jdb 进行基础调试。
- 运行与性能调优:通过 -Xms/-Xmx 设置堆大小(如 -Xms512m -Xmx1024m),根据应用特性选择合适的 GC(如 -XX:+UseG1GC),并在压测中验证停顿与吞吐。
- 监控与分析:使用 JConsole/VisualVM 观察 JVM 内存、线程、类加载与 GC 行为,结合日志定位瓶颈。
四 Web开发与部署实践
- Web 应用建议使用 Apache Tomcat 9:下载解压至 /opt,创建符号链接便于升级(如 ln -s /opt/apache-tomcat-9.0.xx /usr/local/tomcat),设置 CATALINA_HOME 后通过 startup.sh 启动;将 WAR 放入 webapps 目录即可自动部署。
- 端口与访问控制:如 8080 端口被占用,在 conf/server.xml 中修改 ;对外服务仅开放必要端口,并配合防火墙策略。
- 日志与问题排查:优先查看 catalina.out 等日志文件,结合断点与远程调试定位 JSP/Servlet 问题。
五 安全、维护与团队协作
- 系统与依赖安全:定期执行 sudo apt update && sudo apt upgrade,及时获取 JDK/库 的安全补丁;避免在生产使用过旧或存在已知漏洞的版本。
- 运行安全:仅暴露必要端口,最小权限运行应用进程,分离配置与代码(如外部化 application.properties),并对敏感信息进行加密与权限控制。
- 团队协作:统一 JDK 版本 与 构建工具 配置,使用 Git 分支策略与 .gitignore,在仓库根目录维护清晰的 README/变更日志 与部署手册。