在Linux环境下搭建Java工程是Java开发者的基础技能,本文将详细介绍从环境准备到项目创建、配置管理及构建运行的完整流程,涵盖Maven和Gradle两种主流构建工具的使用方法,帮助开发者高效完成Java工程的初始化工作。

环境准备:安装JDK与构建工具
安装JDK
Java工程运行依赖Java开发工具包(JDK),需先安装JDK并配置环境变量,以OpenJDK 11为例:
- 下载JDK:访问OpenJDK官网或使用Linux包管理器(如Ubuntu的
apt:sudo apt install openjdk-11-jdk)。 - 配置环境变量:编辑
~/.bashrc或/etc/profile文件,添加以下内容:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # JDK实际安装路径 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
- 生效配置:执行
source ~/.bashrc,验证安装:java -version和javac -version,输出版本信息即成功。
安装构建工具
(1)Maven安装
Maven是Apache推出的项目构建和管理工具,依赖管理便捷。
- 下载Maven:访问Maven官网下载二进制压缩包(如
apache-maven-3.8.6-bin.tar.gz)。 - 解压并配置:
sudo tar -zxvf apache-maven-3.8.6-bin.tar.gz -C /usr/local/ # 解压到/usr/local sudo ln -s /usr/local/apache-maven-3.8.6 /usr/local/maven # 创建软链接
- 配置环境变量:在
~/.bashrc中添加:export MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH
- 生效配置后验证:
mvn -version,输出版本信息即成功。
(2)Gradle安装
Gradle是Apache推出的基于Groovy/Kotlin的构建工具,灵活性更高。
- 下载Gradle:访问Gradle官网下载二进制包(如
gradle-7.5-bin.zip)。 - 解压并配置:
sudo unzip gradle-7.5-bin.zip -d /usr/local/ sudo ln -s /usr/local/gradle-7.5 /usr/local/gradle
- 配置环境变量:在
~/.bashrc中添加:export GRADLE_HOME=/usr/local/gradle export PATH=$GRADLE_HOME/bin:$PATH
- 验证安装:
gradle -version,输出版本信息即成功。
创建Java工程
使用Maven创建工程
Maven通过archetype(原型)快速生成项目骨架,支持多种模板(如Java应用、Web应用)。
- 命令行创建:
mvn archetype:generate -DgroupId=com.example -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
参数说明:
groupId:组织标识(通常为反向域名,如com.example);artifactId:项目名称(如myapp);archetypeArtifactId:原型类型(maven-archetype-quickstart为Java应用模板)。
- 创建完成后,会在当前目录生成
myapp文件夹,进入目录可见Maven标准结构:myapp/ ├── pom.xml # 项目核心配置文件 ├── src/ │ ├── main/ │ │ ├── java/ # Java源码目录 │ │ └── resources/ # 配置文件目录 │ └── test/ │ ├── java/ # 测试源码目录 │ └── resources/ # 测试配置文件目录 └── target/ # 构建输出目录
使用Gradle创建工程
Gradle通过init命令初始化项目,支持多种DSL(Groovy/Kotlin)和项目类型。

- 命令行创建(Groovy DSL,Java应用):
gradle init --type java-application --package com.example --dsl groovy --test-framework junit-jupiter
参数说明:
--type:项目类型(java-application为Java应用);--package:基础包名(如com.example);--dsl:脚本语言(groovy或kotlin);--test-framework:测试框架(junit-jupiter为JUnit 5)。
- 创建完成后,生成项目结构:
myapp/ ├── build.gradle # 项目构建脚本 ├── settings.gradle # 项目设置文件 ├── gradle/ # Gradle配置目录 ├── src/ │ ├── main/ │ │ ├── java/com/example/ # Java源码目录 │ │ └── resources/ # 配置文件目录 │ └── test/ │ └── java/com/example/ # 测试源码目录 └── build/ # 构建输出目录
通过IDE创建工程
以IntelliJ IDEA为例,支持直接从IDE创建或导入命令行生成的项目:
- 新建项目:打开IDEA,选择“File → New → Project”,选择“Maven”或“Gradle”,填写
groupId、artifactId等信息,点击“Create”即可生成项目。 - 导入项目:打开命令行生成的项目目录,IDEA会自动识别
pom.xml或build.gradle,提示导入,确认后即可打开。
配置管理与依赖管理
Maven依赖配置
依赖配置在pom.xml的<dependencies>标签中添加,示例:
<dependencies>
<!-- JUnit 5 测试依赖 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.2</version>
<scope>test</scope> <!-- 作用域:test表示仅测试有效 -->
</dependency>
<!-- Log4j2 日志依赖 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.20.0</version>
</dependency>
</dependencies>
- 阿里云镜像加速:修改
pom.xml中的<mirrors>标签,添加阿里云镜像:<mirrors> <mirror> <id>aliyun</id> <mirrorOf>central</mirrorOf> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors>
Gradle依赖配置
依赖配置在build.gradle的dependencies块中添加,示例:
dependencies {
// JUnit 5 测试依赖
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2'
// Log4j2 日志依赖
implementation 'org.apache.logging.log4j:log4j-core:2.20.0'
}
- 阿里云仓库配置:在
build.gradle的repositories块中添加:repositories { mavenCentral() maven { url 'https://maven.aliyun.com/repository/public' } }
构建工具命令对比
以下是Maven和Gradle常用构建命令的对比:
| 操作场景 | Maven命令 | Gradle命令 | 说明 |
|---|---|---|---|
| 清理编译文件 | mvn clean |
gradle clean |
删除target/build目录 |
| 编译源码 | mvn compile |
gradle compileJava |
编译main目录下的Java文件 |
| 运行测试 | mvn test |
gradle test |
执行test目录下的测试用例 |
| 打包项目 | mvn package |
gradle build |
生成jar/war包(位于target/build/libs) |
| 安装到本地仓库 | mvn install |
gradle install |
将jar包安装到本地Maven/Gradle仓库 |
多模块工程创建
实际开发中,多模块工程可提升代码复用性和维护性,以Maven为例:

- 创建父模块:生成一个
pom打包类型的父模块,用于统一管理依赖和版本。 - 创建子模块:在父模块目录下执行
mvn archetype:generate,通过-Dparent指定父模块,或直接在IDE中创建子模块。 - 子模块依赖:在子模块的
pom.xml中通过<dependency>引用其他子模块的artifactId。
Gradle多模块工程通过settings.gradle管理子模块,使用include ':module1', ':module2'声明模块,在根目录build.gradle中统一配置版本和依赖。
常见问题与解决
FAQs
问题1:Linux下Java项目编译时出现“编码GBK的不可映射字符”怎么办?
解答:该问题通常因源码文件编码与JDK默认编码(GBK)不一致导致,解决方法:
- 在
pom.xml中添加全局编码配置(Maven):<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> - 或在
build.gradle中配置(Gradle):tasks.withType(JavaCompile) { options.encoding = 'UTF-8' }
问题2:如何配置Maven使用本地依赖 jar 包?
解答:若需使用本地jar包(非远程仓库),可通过以下两种方式:
- 方式1:将jar包安装到本地仓库,再通过
<dependency>引用:mvn install:install-file -Dfile=/path/to/local.jar -DgroupId=com.example -DartifactId=local-lib -Dversion=1.0 -Dpackaging=jar
然后在
pom.xml中添加依赖:<dependency> <groupId>com.example</groupId> <artifactId>local-lib</artifactId> <version>1.0</version> </dependency> - 方式2:直接在
pom.xml中通过<systemPath>指定本地路径(不推荐,因无法传递依赖):<dependency> <groupId>com.example</groupId> <artifactId>local-lib</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>/path/to/local.jar</systemPath> </dependency>
通过以上步骤,即可在Linux环境下完成Java工程的创建、配置与构建,后续可根据项目需求添加业务代码、集成框架(如Spring Boot)等,逐步完善工程功能。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/15020.html