spring boot是一个很优秀的java开发框架,现在使用spring boot框架的项目越来越多,总的来说springboot项目的启动有三种方式
通过java main函数启动内置容器
此种方式需要写一个java main函数来启动spring boot项目,仅适合spring boot刚入门的人,在测试、生产环境中并不可取。
通过maven命令mvn spring-boot:run 启动项目
此种方式,适合开发时使用
打成jar包 使用java -jar 调用调用打好的jar包
此种方式,在生产环境中可用,同时可通过java参数,对服务器调节内存。若使用第三种方式,与生产环境启动方式保持一致,则从开发到生产环境,启动差异很小,大大减少由于环境差异引起的布署问题。
问题来了,第三种方式,需要通过命令行方式启动,有些IDE工具没有自带命令行,如eclipse,即使带了命令行,也不能每次都敲一遍命令吧,输入一次带一堆参数的命令,不仅效率低,而且不是谁都能记住各个参数的。有些人说,可以使用ant来启动,ant与各个IDE集成较好,可以用ant的java任务来启动jar包,如下面的配置:
<java dir="target/project-a.jar" fork="true" failonerror="true" maxmemory="512M"> </java>
参考ant的java任务:http://ant.apache.org/manual/Tasks/java.html。
此种方式确实可以启动springboot项目,尝试之后发现了一个问题,即项目启动后,结束ant任务,无法结束已在后台启动的java进程,再次启动时会报错。是否可以尝试,在ant中,启动新窗口,来为spring boot提供运行环境呢,经过多次尝试,答案是肯定的,配置方式如下:
<target name="progjec-a" depends="pkg-admin"> <echo>启动admin。。。</echo> <exec executable="cmd"> <arg value="/c" /> <arg value="start" /> <arg value="" 运行 progjec-a "" /> <arg value="java.exe" /> <arg value="-Xms1024m" /> <arg value="-Xmx1024m" /> <arg value="-jar" /> <arg value="progjec-a\target\progjec-a.jar" /> </exec> <echo>启动progjec-a成功!</echo> </target>
参考ant的exec任务http://ant.apache.org/manual/Tasks/exec.html。
此种方式启动时,会同时打开一个命令行窗口,单独给spring boot提供运行环境,当关闭时,spring boot也同时终止,启动和关闭非常方便,同时还可以与编译、打包等任务集成,通过IDE工具管理,便捷高效。河南巨鲸信息技术有限公司,为朋友们作了有益的偿试,希望对朋友有所帮助。