温馨提示×

CentOS Java项目构建流程是怎样的

小樊
62
2025-09-20 00:00:50
栏目: 编程语言

1. 准备Java开发环境
在CentOS上构建Java项目前,需先安装JDK并配置环境变量。推荐使用OpenJDK(如java-11-openjdk-devel),通过yum包管理器安装:

sudo yum update -y
sudo yum install java-11-openjdk-devel -y

安装完成后,验证Java版本:

java -version  # 确认Java运行时环境
javac -version # 确认Java编译器

配置全局环境变量,编辑/etc/profile文件,添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH

保存后执行source /etc/profile使配置生效。

2. 安装构建工具(Maven/Gradle)
Java项目常用Maven(基于pom.xml)或Gradle(基于build.gradle)管理依赖与构建流程。以Maven为例,通过yum安装:

sudo yum install maven -y

验证安装:

mvn -version  # 确认Maven版本及Java环境

若使用Gradle,需先安装epel-release,再通过yum安装:

sudo yum install epel-release -y
sudo yum install gradle -y

验证Gradle安装:

gradle -v  # 确认Gradle版本

也可手动下载Gradle压缩包,解压至/opt目录并配置环境变量。

3. 创建或导入Java项目

  • 新建项目:使用Maven原型生成标准项目结构(如maven-archetype-quickstart):
    mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    
    生成的项目结构包含src/main/java(主代码)、src/test/java(测试代码)、pom.xml(配置文件)。
  • 导入现有项目:将本地或Git仓库中的项目复制到CentOS服务器,进入项目根目录(含pom.xmlbuild.gradle的目录)。

4. 编译与打包项目

  • Maven项目:在项目根目录执行以下命令:
    mvn clean package
    
    该命令会清理target目录、下载依赖(从Maven Central)、编译源代码、运行测试,并将项目打包为可执行的JAR/WAR文件(位于target目录,如my-app-1.0-SNAPSHOT.jar)。
  • Gradle项目:在项目根目录执行以下命令:
    gradle clean build
    
    类似地,Gradle会清理build目录、下载依赖、编译代码、运行测试,生成JAR/WAR文件(位于build/libs目录,如my-java-project.jar)。

5. 部署与运行项目

  • 传统Java应用:若打包为可执行JAR(含Main-Class),直接通过java命令运行:
    java -jar target/my-app-1.0-SNAPSHOT.jar
    
  • Java Web应用(如Spring Boot):将生成的WAR文件(如target/my-webapp.war)复制到Tomcat的webapps目录:
    scp target/my-webapp.war root@your_server_ip:/opt/apache-tomcat-9.0.52/webapps/
    
    启动Tomcat(若未启动):
    /opt/apache-tomcat-9.0.52/bin/startup.sh
    
    访问应用:http://your_server_ip:8080/my-webappmy-webapp为WAR文件名去掉.war后缀)。

6. 可选:Docker容器化部署
若需将项目部署到Docker容器,可创建Dockerfile(位于项目根目录):

FROM openjdk:11-jdk-alpine
VOLUME /tmp
ARG JAR_FILE=target/my-app-1.0-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

构建Docker镜像:

docker build -t my-java-app .

运行容器:

docker run -p 8080:8080 my-java-app

通过http://your_server_ip:8080访问应用。

注意事项

  • 确保JDK版本与项目要求的版本一致(如项目需要Java 11,则安装java-11-openjdk-devel)。
  • 构建工具(Maven/Gradle)的版本需兼容项目配置(如pom.xml中的maven-compiler-plugin版本)。
  • 部署Web应用时,需开放CentOS防火墙端口(如Tomcat的8080端口):
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --reload
    

0