如何编写 Ant 任务以在 Eclipse 中启动嵌入式码头?

How to write an Ant task to start the embedded jetty in eclipse?

我能够像这样使用 pom.xml 中的 jetty-maven-plugin 配置成功配置并启动嵌入式码头,

<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

上启动项目 运行ning
[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

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

创建以下简单的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 文件夹,并将以下 jars 放入其中,

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 官方文档的配置的更多信息。