服务器Java 开发环境配置

快速设置脚本

如果你需要在服务器上快速设置 Java 开发环境:

bash

复制代码
#!/bin/bash
# install_java_vscode.sh

# 1. 安装 JDK (以 Ubuntu 为例)
sudo apt update
sudo apt install openjdk-17-jdk -y

# 2. 验证安装
java -version

# 3. 安装 VS Code Java 扩展
code --install-extension vscjava.vscode-java-pack
code --install-extension redhat.java
code --install-extension vscjava.vscode-java-debug

# 4. 创建测试项目
mkdir test-java-project
cd test-java-project
mkdir src

cat > src/HelloWorld.java << 'EOF'
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java in VS Code!");
    }
}
EOF

# 5. 创建 VS Code 配置
mkdir .vscode

cat > .vscode/settings.json << 'EOF'
{
    "java.project.sourcePaths": ["src"],
    "java.project.outputPath": "bin",
    "java.project.referencedLibraries": ["lib/**/*.jar"]
}
EOF

常见问题解决

❌ 问题1: "Java runtime could not be located"

json

复制代码
// settings.json 中添加
{
    "java.home": "/usr/lib/jvm/java-17-openjdk-amd64"
}

❌ 问题2: 无法找到主类

json

复制代码
// .vscode/launch.json 中配置
{
    "type": "java",
    "request": "launch",
    "mainClass": "com.example.Main",
    "projectName": "your-project-name"
}

❌ 问题3: 编译错误

检查 Java 版本兼容性:

json

复制代码
{
    "java.configuration.runtimes": [
        {
            "name": "JavaSE-17",
            "path": "/path/to/jdk-17"
        }
    ]
}

自动化编译配置

对于你的项目,可以创建这样的配置:

json

复制代码
// .vscode/tasks.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build Java Project",
            "type": "shell",
            "command": "javac -d ./bin -cp ./lib/*.jar ./src/**/*.java",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$javac"]
        }
    ]
}
相关推荐
亦暖筑序25 分钟前
AgentScope-Java 入门:用 Middleware 审计 Agent 调用
java·ai编程·agentscope
你驴我35 分钟前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
青山木1 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
小龙报1 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
自强的小白2 小时前
重点!起始时间和结束时间与创建时间和修改时间的区别(localdate与LocaldateTIME区别)以及增删改查什么时候设置目前时间(添加和更新员工时)
java
雪的季节2 小时前
Python 线程同步与异步编程 全解析
java·开发语言
吃饱了得干活2 小时前
缓存与数据库一致性:从理论到实战
java·后端·面试
520拼好饭被践踏2 小时前
JAVA+Agent学习day22
java·开发语言·后端·学习
笨蛋不要掉眼泪3 小时前
Java虚拟机:堆的参数配置
java·开发语言·jvm
霸道流氓气质3 小时前
SpringBoot中使用JasperReports 报表引擎 — 介绍、原理与使用实践
java·spring boot·后端