zoukankan      html  css  js  c++  java
  • windows环境下运行java的脚本

    windows环境下运行java的脚本

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

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

    首先考虑Applicationmaven编译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上安装了gitgit-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学习资料的也可以私信我!

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

  • 相关阅读:
    《Android源码设计模式》--装饰模式
    弹出对话框输入框
    顶部搜索框背景色渐变
    《Android源码设计模式》--模板方法模式
    《Android源码设计模式》--状态模式--责任链模式--解释器模式--命令模式--观察者模式--备忘录模式--迭代器模式
    《Android源码设计模式》--策略模式
    《Android源码设计模式》--抽象工厂模式
    《Android源码设计模式》--工厂方法模式
    《Android源码设计模式》--原型模式
    《Android源码设计模式》--Builder模式
  • 原文地址:https://www.cnblogs.com/heqingxiaohuo/p/12326746.html
Copyright © 2011-2022 走看看