温馨提示×

编译Java项目在Debian上如何操作

小樊
47
2025-09-30 01:45:52
栏目: 编程语言

在Debian上编译Java项目的操作步骤

1. 安装Java开发工具包(JDK)

编译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替换为对应版本即可。

2. 安装构建工具(Maven/Gradle)

Java项目通常使用构建工具管理依赖和编译流程,常见工具为Maven(基于XML配置)或Gradle(基于Groovy/DSL配置)。

安装Maven
sudo apt update sudo apt install maven 

验证安装:

mvn -version # 查看Maven版本 
安装Gradle
sudo apt update sudo apt install gradle 

验证安装:

gradle -v # 查看Gradle版本 

若需使用最新版本,可通过SDKMAN(软件开发工具包管理器)安装,步骤参考后续扩展内容。

3. 获取Java项目源码

项目源码可通过以下方式获取:

  • Git克隆(适用于托管在GitHub/GitLab等平台的项目):
    git clone https://github.com/your-repo/your-java-project.git cd your-java-project 
  • 下载ZIP包(适用于手动下载的项目):
    使用wget或浏览器下载项目压缩包,解压后进入项目目录:
    wget https://example.com/your-java-project.zip unzip your-java-project.zip cd your-java-project 

4. 编译Java项目

根据项目使用的构建工具,执行对应编译命令:

Maven项目

在项目根目录(含pom.xml文件)下运行:

mvn clean install 
  • clean:清理上一次编译生成的临时文件(target目录);
  • install:编译项目并将生成的JAR/WAR文件安装到本地Maven仓库(~/.m2/repository)。
    编译完成后,生成的JAR文件位于target目录(如target/my-app-1.0-SNAPSHOT.jar)。
Gradle项目

在项目根目录(含build.gradle文件)下运行:

gradle build 

该命令会编译代码、运行测试(若有)并打包项目。生成的JAR文件位于build/libs目录(如build/libs/my-java-project.jar)。

5. (可选)创建可执行JAR文件

若项目需要打包为包含所有依赖的可执行JAR(便于直接运行),需配置构建工具插件:

Maven项目

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)。

Gradle项目

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)。

6. 运行Java项目

使用java命令运行编译后的JAR文件:

java -jar path/to/your-executable.jar 

例如:

  • Maven可执行JAR:java -jar target/my-app-1.0-SNAPSHOT-jar-with-dependencies.jar
  • Gradle可执行JAR:java -jar build/libs/my-java-project-all.jar
    运行后,将输出程序的主类main方法结果(如Hello, World!)。

扩展:使用SDKMAN管理多个Java版本

若需在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版本,避免手动配置环境变量的麻烦。

0