服务器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"]
        }
    ]
}
相关推荐
苍煜9 小时前
Java自定义注解-SpringBoot实战
java·开发语言·spring boot
XS0301069 小时前
Java ArrayList
java·开发语言
凯尔萨厮9 小时前
Springboot2.x+JSP项目创建
java·数据库
钝挫力PROGRAMER9 小时前
贫血模型的改进
java·开发语言·设计模式·架构
小书房9 小时前
Kotlin的内联函数
java·开发语言·kotlin·inline·内联函数
计算机学姐9 小时前
基于微信小程序的校园失物招领管理系统【uniapp+springboot+vue】
java·vue.js·spring boot·mysql·信息可视化·微信小程序·uni-app
yuzhiboyouye9 小时前
为什么sping-boot+ mabatis。写接口时要建好几个VO。各自用途时
java
SamDeepThinking10 小时前
第2篇:应付百万并发商品系统之需求文档
java·后端·架构
heimeiyingwang10 小时前
【架构实战】领域事件与业务编排架构
java·微服务·架构
月落归舟10 小时前
带你了解Collections和Collection!!!
java·collections·collection