如何编写一个Ant任务来启动eclipse中的嵌入式jetty?

时间:2015-10-14 13:29:57

标签: ant embedded-jetty maven-jetty-plugin

我能够使用pom.xml中的jetty-maven-plugin配置成功配置和启动嵌入式jetty,如下所示,

<plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>${jetty.version}</version>
    <configuration>
        <stopKey>webappStop</stopKey>
        <stopPort>9191</stopPort>
        <httpConnector>
          <host>localhost</host>
          <port>9090</port>
        </httpConnector>
    </configuration>
</plugin>

我可以右键单击项目并运行maven目标jetty:run,项目开始在端口9090上运行,

[INFO] jetty-9.3.0.M1
[INFO] No Spring WebApplicationInitializer types detected on classpath
[INFO] Started ServerConnector@1023a4c5{HTTP/1.1,[http/1.1]}{localhost:9090}
[INFO] Started @8012ms
[INFO] Started Jetty Server

现在,我不是每次都右键单击并运行maven目标,而是需要为服务器启动和停止命令编写Ant任务。

1 个答案:

答案 0 :(得分:2)

创建以下简单build.xml并创建两个ant任务来启动和停止服务器,

build.xml

<project name="Demo Project" basedir=".">

  <path id="jetty.plugin.classpath">
    <fileset dir="jetty-lib" includes="*.jar"/>
  </path>

  <taskdef classpathref="jetty.plugin.classpath" resource="tasks.properties" loaderref="jetty.loader" />

    <target name="jetty.run">
        <jetty.run />
    </target>

    <target name="jetty.stop">
        <jetty.stop />
    </target>

</project>

在项目根目录下创建一个jetty-lib文件夹,并在其中放置以下jar,

javax.servlet-3.0.jar
jetty-ant-9.3.0.M1.jar
jetty-http-9.3.0.M1.jar
jetty-io-9.3.0.M1.jar
jetty-security-9.3.0.M1.jar
jetty-server-9.3.0.M1.jar
jetty-servlet-9.3.0.M1.jar
jetty-util-9.3.0.M1.jar
jetty-webapp-9.3.0.M1.jar

有关jetty-ant官方文档的配置的更多信息。