windows环境下运行java的脚本

扶醉桌前 提交于 2020-02-26 05:25:46

windows环境下运行java的脚本

前几天研发时遇到eclipse运行不稳定的情况,明明实现了的功能有的时候能运行到,有时运行不到,非常让人头疼。于是想在本地搭一套运行环境,方便比较。

说明:以下情况主要针对java运行

首先考虑Application。maven编译Spring Boot默认打的包是fatjar,所以比较好处理。此处重点考虑传统Application。也可以考虑打成fatjar。用Eclipse->Export 安装fatjar插件\引入maven-shade-plugin插件或assembly插件,均不如意。要么方法费劲还容易错,要么影响到正常使用方式。考虑再三,决定用shell脚本组装常规使用方式实现。脚本如下。

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."  

喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资料的也可以私信我!

祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!