前几天研发时遇到eclipse运行不稳定的情况,明明实现了的功能有的时候能运行到,有时运行不到,非常让人头疼。于是想在本地搭一套运行环境,方便比较。
说明:以下情况主要针对java运行
首先考虑Application。maven编译Spring Boot默认打的包是fatjar,所以
比较好处理。此处重点考虑传统Application。也可以考虑打成fatjar。用Eclipse->Export 安装fatjar插件\引入maven-shade-plugin插件或assembly插件,均不如意。要么方法费劲还容易错,要么影响到
正常使用方式。考虑再三,决定用shell
脚本组装常规使用方式实现。脚本如下。
class="java" name="code">
cur_path="${运行目录}"
echo "当前目录:"$cur_path
projectPath="${工程目录}"
subProject="{目标工程名}"
echo "项目目录:"$projectPath
cd $projectPath
mvn clean
echo "拷贝jar包"
mvn dependency:copy-dependencies -DoutputDirectory=$cur_path"/lib" -pl $subProject
echo "编译工程"
mvn compile -pl $subProject -DskipTests
echo "拷贝编译结果"
cp -fr $subProject/target/classes/ $cur_path
cd $cur_path
x=`ls lib/*.jar`
CL=".;classes"
for y in $x
do
CL="$y;$CL"
done
CL=$CL
echo "类路径:$CL"
echo "java -cp $CL mainClass $* " > $cur_path/start.bat 2>&1
echo "succ"
./start.bat
保存为start.sh,直接运行shell就可以了。
注:我在pc上安装了git,git-bash环境里面常用的linux指令都可以使用,很方便。
对于war类型的,可以引入新的插件,
修改pom如下
<plugins>
<!-- tomcat插件控制 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!--端口控制-->
<port>8180</port>
<!--项目路径控制意味着http://localhost:8080/abc-->
<path>/abc</path>
<!--编码-->
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
命令行:mvn tomcat7:run 就可以运行。
也可以搭建一套tomcat运行环境(主要修改运行端口),然后通过脚本将war包拷贝到webapps下运行,我的启动脚本
run_home="${运行目录}"
projectPath="项目根目录"
subProject="web项目名"
sh ./shutdown.sh;
sleep 5;
rm -rf $run_home/webapps/*;
echo "项目目录:"$projectPath
cd $projectPath
mvn clean package -pl $subProject -am -DskipTests
cp -f $subProject/target/*.war $run_home/webapps/;
sh $run_home/bin/startup.sh;
echo "publish complete."