📄 jettystopmojo.java
字号:
//========================================================================//$Id: JettyStopMojo.java 4005 2008-11-06 22:31:53Z janb $//Copyright 2000-2004 Mort Bay Consulting Pty. Ltd.//------------------------------------------------------------------------//Licensed under the Apache License, Version 2.0 (the "License");//you may not use this file except in compliance with the License.//You may obtain a copy of the License at //http://www.apache.org/licenses/LICENSE-2.0//Unless required by applicable law or agreed to in writing, software//distributed under the License is distributed on an "AS IS" BASIS,//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.//See the License for the specific language governing permissions and//limitations under the License.//========================================================================package org.mortbay.jetty.plugin;import java.io.OutputStream;import java.net.ConnectException;import java.net.InetAddress;import java.net.Socket;import org.apache.maven.plugin.AbstractMojo;import org.apache.maven.plugin.MojoExecutionException;import org.apache.maven.plugin.MojoFailureException;/** * * @author David Yu * * @goal stop * @description Stops jetty that is configured with <stopKey> and <stopPort>. */public class JettyStopMojo extends AbstractMojo{ /** * Port to listen to stop jetty on sending stop command * @parameter * @required */ protected int stopPort; /** * Key to provide when stopping jetty on executing java -DSTOP.KEY=<stopKey> * -DSTOP.PORT=<stopPort> -jar start.jar --stop * @parameter * @required */ protected String stopKey; public void execute() throws MojoExecutionException, MojoFailureException { if (stopPort <= 0) throw new MojoExecutionException("Please specify a valid port"); if (stopKey == null) throw new MojoExecutionException("Please specify a valid stopKey"); try { Socket s=new Socket(InetAddress.getByName("127.0.0.1"),stopPort); s.setSoLinger(false, 0); OutputStream out=s.getOutputStream(); out.write((stopKey+"\r\nstop\r\n").getBytes()); out.flush(); s.close(); } catch (ConnectException e) { getLog().info("Jetty not running!"); } catch (Exception e) { getLog().error(e); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -