windows环境下运行java的脚本_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > windows环境下运行java的脚本

windows环境下运行java的脚本

 2020/1/1 18:49:27  pcpig  程序员俱乐部  我要评论(0)
  • 摘要:前几天研发时遇到eclipse运行不稳定的情况,明明实现了的功能有的时候能运行到,有时运行不到,非常让人头疼。于是想在本地搭一套运行环境,方便比较。说明:以下情况主要针对java运行首先考虑Application。maven编译SpringBoot默认打的包是fatjar,所以比较好处理。此处重点考虑传统Application。也可以考虑打成fatjar。用Eclipse->Export安装fatjar插件\引入maven-shade-plugin插件或assembly插件,均不如意
  • 标签:Windows 运行 Java 脚本
前几天研发时遇到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."
上一篇: 【软帝学院】java多线程面试题及答案 下一篇: 没有下一篇了!
发表评论
用户名: 匿名