云服务器(ECS)上:Linux 系统 Maven 安装配置与项目部署
·
Linux系统Maven安装配置与项目部署指南
一、Maven安装
-
下载Maven
访问Apache Maven官网下载最新版(如apache-maven-3.9.6-bin.tar.gz):wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz -
解压与安装
解压到/opt目录并创建软链接:tar -xzvf apache-maven-*.tar.gz -C /opt ln -s /opt/apache-maven-3.9.6 /opt/maven # 创建软链接便于版本管理 -
配置环境变量
编辑/etc/profile文件:echo 'export MAVEN_HOME=/opt/maven' >> /etc/profile echo 'export PATH=$MAVEN_HOME/bin:$PATH' >> /etc/profile source /etc/profile # 立即生效 -
验证安装
mvn -v成功输出示例:
Apache Maven 3.9.6 (...) Java version: 17.0.10, vendor: Oracle Corporation
二、Maven配置优化
-
配置本地仓库
编辑/opt/maven/conf/settings.xml:<localRepository>/data/maven_repo</localRepository> <!-- 自定义路径 --> -
加速依赖下载
在<mirrors>标签内添加阿里云镜像:<mirror> <id>aliyunmaven</id> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>*</mirrorOf> </mirror> -
设置JDK版本
在<profiles>中添加:<profile> <id>jdk-17</id> <activation><activeByDefault>true</activeByDefault></activation> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> </properties> </profile>
三、项目部署流程
-
上传项目代码
使用scp或SFTP工具上传项目至服务器(如/data/project):scp -r /local/project user@ecs_ip:/data/project -
编译打包项目
进入项目目录执行:cd /data/project mvn clean package -DskipTests # 跳过测试加速构建生成物路径:
target/*.war或target/*.jar -
部署应用
- Web项目(WAR包)
复制到Tomcat的webapps目录:cp target/*.war /opt/tomcat/webapps/ systemctl restart tomcat # 重启Tomcat - Spring Boot(JAR包)
直接运行:nohup java -jar target/*.jar > app.log 2>&1 &
- Web项目(WAR包)
四、运维管理
-
进程守护
创建Systemd服务(/etc/systemd/system/app.service):[Unit] Description=Spring Boot App After=network.target [Service] ExecStart=/usr/bin/java -jar /data/project/target/app.jar User=www Restart=always [Install] WantedBy=multi-user.target启用服务:
systemctl daemon-reload systemctl start app -
日志查看
tail -f /data/project/app.log # 实时日志 journalctl -u app.service -f # Systemd服务日志
常见问题排查
| 问题现象 | 解决方案 |
|---|---|
mvn: command not found |
检查source /etc/profile是否执行 |
| 依赖下载超时 | 确认镜像配置或网络策略 |
| 端口冲突 | netstat -tunlp 检查占用端口 |
| 内存不足 | 调整JVM参数:-Xmx2g -Xms1g |
提示:生产环境建议使用CI/CD工具(如Jenkins)实现自动化部署。
更多推荐
所有评论(0)