maven项目中采用jetty插件启动每次修改代码都会自动重启的问题解决

之前在项目中采用maven插件启动项目,如果修改的是方法体的内容,就不需要重启。但是要是增加方法或者修改方法名或者方法的参数就需要重启。当时也没有太关注过jetty插件的配置。后来换了一家公司,每次修改代码,只要一保存,jetty都会自动重启,而且由于自己在编写代码,经常是重启不成功,还得需要重启手动重启。后来查了下资料,找到了解决办法。

项目中的jetty配置是这样的,这样的话每次修改代码都会重启。

<span style="font-size:14px;"><build>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.12</version>
                <configuration>
                    <contextPath>/</contextPath>
                    <connectors>
                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                            <port>8090</port>
                        </connector>
                    </connectors>
                    <reload>automatic</reload>
                    <scanIntervalSeconds>3</scanIntervalSeconds>
                    <systemProperties>
                        <systemProperty>
                            <name>org.mortbay.util.URI.charset</name>
                            <value>UTF-8</value>
                        </systemProperty>
                    </systemProperties>
                </configuration>
            </plugin>
        </plugins>
    </build></span>

后来我将<reload>和<scanIntervalSeconds>取消,改为如下,可以了,不用每次自动重启了。

<build>
		<plugins>
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>maven-jetty-plugin</artifactId>
				<version>6.1.12</version>
				<configuration>
					<contextPath>/</contextPath>
					<connectors>
						<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
							<port>8090</port>
						</connector>
					</connectors>
					<!-- <reload>automatic</reload> -->
					<!-- <scanIntervalSeconds>3</scanIntervalSeconds> -->
					<systemProperties>
						<systemProperty>
							<name>org.mortbay.util.URI.charset</name>
							<value>UTF-8</value>
						</systemProperty>
					</systemProperties>
				</configuration>
			</plugin>
		</plugins>
	</build>

<reload>默认值为 automatic,它与大于 0 的 scanIntervalSeconds 节点一起作用,实现自动热部署的工作。设为 manual 的好处是,当你改变文件内容并保存时,不会马上触发自动扫描和重部署的动作,你还可以继续的修改,直至你在 Console 或命令行中敲回车键(Enter)的时候才触发重新加载的动作。这样可以更加的方便调试修改。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值