一、导入项目
在本地部署一个新项目时,需要通过idea Import Project 导入项目,因为会下载相关的依赖,直接打开可能会报错,因为缺少相关的依赖。
选择新项目的pom.xml文件即可导入。
如果报错可以点击这两个按钮:
Reimport all project: 重新导入所有项目,生成相关依赖。
Genernate source and update Folders :把Sources文件Generate到targer文件夹
二、maven相关操作
2.1、背景介绍
maven是一个项目管理和整合的工具,为开发者提供了标准的目录和默认的完整构建生命周期的框架。Maven工程结构和内容被定义在pom.xml中,maven提供对项目提供的周期(Lifecycle)clean,validate,compile,test,package,install,site,deploy。
2.2 相关操作
IDEA为了方便操作集成了maven的相关命令,也可以通过cmd命令直接在对应的项目目录执行相关的命令。
Reimport all project: 重新导入所有项目,生成相关依赖。
Genernate source and update Folders :把Sources文件Generate到targer文件夹
clean: 我们在使用maven的构建项目会产生一个target文件,但我们修改了代码后就需要使用clean清除target,重新生成target。
**package: **打包到本项目,一般是在项目target目录下。
如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错,因为找不到所依赖的b项目,说明a项目在本地仓库是没有找到它所依赖的b项目。
**install: **打包会安装到本地的maven仓库中,如果没有设置过maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,
maven deploy: 项目打包上传至远程仓库,将最终版本的包拷贝到远程,需配置相关的账号和密码。
周期中其他知识
pom.xml文件, 在这个文件里面,只要你添加相应配置,自动下载相应jar包,极少有包需要手动导入仓库。maven把jar包设置去中央仓库
validate : 验证生效
compile : 编译
test : 测试
site : Java项目生成静态HTML。
3.常见问题
1、依赖包错误,2、编译没有通过,3、test测试类中有错误
4、解决方案
检查pom.xml文件,手动导包。
三、Springboot发布项目生成jar包
#cmd进入pom文件所在目录执行以下命令生成jar包:
mvn clean install -Dmaven.test.skip=true
#运行springboot项目
nohup java -jar 项目.jar > /日志路径 &
linux相关的脚本文件:
start.sh
#!/bin/bash
PROJECTNAME=project-name
pid=`ps -ef |grep $PROJECTNAME |grep -v "grep" |awk '{print $2}'`
if [ $pid ];then
echo "$PROJECTNAME is running and pid=$pid"
else
echo "Start success to start $PROJECTNAME ..."
nohup java -jar boot-security-1.0.jar >> catalina.out 2>&1 &
stop.sh
#!/bin/bash
PROJECTNAME=project-name
pid=$(ps -ef | grep boot-security-1.0.jar | grep -v grep | awk '{ print $2 }')
if [ $pid ];then
echo "$PROJECTNAME is running and pid=$pid"
kill -9 $pid
if [[ $? -eq 0 ]];then
echo "success to stop $PROJECTNAME "
else
echo "fail to stop $PROJECTNAME "
fi
fi
查看端口占用进程命令:
lsof - i : 8080 可查看端口进程占用情况