编译Java项目前需安装JDK(包含javac编译器)。Debian推荐使用OpenJDK(开源版本),通过APT包管理器安装:
sudo apt update # 更新软件包列表
sudo apt install openjdk-11-jdk # 安装OpenJDK 11(常用稳定版)
安装完成后,验证JDK是否可用:
java -version # 查看Java运行时版本
javac -version # 查看Java编译器版本
若需安装其他版本(如OpenJDK 17),将命令中的openjdk-11-jdk替换为对应版本即可。
Java项目通常使用构建工具管理依赖和编译流程,常见工具为Maven(基于XML配置)或Gradle(基于Groovy/DSL配置)。
sudo apt update
sudo apt install maven
验证安装:
mvn -version # 查看Maven版本
sudo apt update
sudo apt install gradle
验证安装:
gradle -v # 查看Gradle版本
若需使用最新版本,可通过SDKMAN(软件开发工具包管理器)安装,步骤参考后续扩展内容。
项目源码可通过以下方式获取:
git clone https://github.com/your-repo/your-java-project.git
cd your-java-project
wget或浏览器下载项目压缩包,解压后进入项目目录:wget https://example.com/your-java-project.zip
unzip your-java-project.zip
cd your-java-project
根据项目使用的构建工具,执行对应编译命令:
在项目根目录(含pom.xml文件)下运行:
mvn clean install
clean:清理上一次编译生成的临时文件(target目录);install:编译项目并将生成的JAR/WAR文件安装到本地Maven仓库(~/.m2/repository)。target目录(如target/my-app-1.0-SNAPSHOT.jar)。在项目根目录(含build.gradle文件)下运行:
gradle build
该命令会编译代码、运行测试(若有)并打包项目。生成的JAR文件位于build/libs目录(如build/libs/my-java-project.jar)。
若项目需要打包为包含所有依赖的可执行JAR(便于直接运行),需配置构建工具插件:
在pom.xml文件的<build>标签内添加maven-assembly-plugin插件:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass> <!-- 替换为你的主类 -->
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef> <!-- 包含所有依赖 -->
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
重新运行mvn clean install,生成的可执行JAR位于target目录(如target/my-app-1.0-SNAPSHOT-jar-with-dependencies.jar)。
在build.gradle文件中添加shadow插件(需先在项目根目录运行gradle wrapper生成Gradle Wrapper):
plugins {
id 'java'
id 'com.github.johnrengelman.shadow' version '7.0.0' // 使用最新版本
}
shadowJar {
manifest {
attributes 'Main-Class': 'com.example.MainClass' // 替换为你的主类
}
}
运行gradle shadowJar,生成的可执行JAR位于build/libs目录(如build/libs/my-java-project-all.jar)。
使用java命令运行编译后的JAR文件:
java -jar path/to/your-executable.jar
例如:
java -jar target/my-app-1.0-SNAPSHOT-jar-with-dependencies.jarjava -jar build/libs/my-java-project-all.jarmain方法结果(如Hello, World!)。若需在Debian上安装多个Java版本(如Java 8、11、17)并切换,可使用SDKMAN(跨平台SDK管理工具):
# 安装SDKMAN
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
# 列出可用Java版本
sdk list java
# 安装指定版本(如OpenJDK 17)
sdk install java 17.0.9-open
# 切换默认Java版本
sdk use java 17.0.9-open
# 验证当前Java版本
java -version
SDKMAN可方便地管理多个Java版本,避免手动配置环境变量的麻烦。