Jettyのインストールと、Eclipseプラグインの設定(run-jetty-run) その2
以前、JettyのEclipse Pluginのrun-jetty-runをインストールしました。Jettyのインストールと、Eclipseプラグインの設定(run-jetty-run)
インストールする際、
作業対象に「http://run-jetty-run.googlecode.com/svn/trunk/updatesite」を
選択していましたが・・・
GoogleCodeのプロジェクト
http://code.google.com/p/run-jetty-run/
ここから、githubのプロジェクトへ移行したようです。
http://github.com/alexwinston/RunJettyRun
GoogleCodeで公開されているバージョンでは、Jetty6対応でしたが、
githubで公開されているバージョンは、6,7,8に対応している模様。
githubのプラグインを使用したほうがよさそうです。
旧バージョンのアンインストール
なにも考えずに上書きでインストールしたのですが、うまく動作せず。
手動でプラグインを削除しようとしたのですが、どこかに情報が
残っているようで「既に最新バージョンが導入されている」と
判定されてしまいました。
それなので、Eclipseを丸ごと再インストールした後、プラグインの
インストールを行っています。
ちゃんと旧バージョンのアンインストールを行ってから、
最新版のインストールを行ったほうがよさそうです。
※プラグインのアンインストール方法がわからないので、具体的な手順は不明です。
run-jetty-runのインストール
Jettyのインストールと、Eclipseプラグインの設定(run-jetty-run)
この手順と同一です。
ただ、プラグインを検索する作業対象に
「http://run-jetty-run.googlecode.com/svn/trunk/updatesite」
ではなく、
「http://alexwinston.github.com/RunJettyRun/site/update」
を設定します。
インストール後の設定
設定画面が大きく変更されていました。
実行の構成画面はこんな感じです。
使用するJettyのバージョンとjetty.xmlのパスを指定します。
今回は、Jettyのバージョンを「7」、jetty.xmlをEclipseで作成した
プロジェクトの直下に配置しています。
jetty.xmlの内容
ほぼ、サイトに公開されているサンプルのままです。
※ここの「Example Jetty 7 and 8 jetty.xml」
http://github.com/alexwinston/RunJettyRun
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- =========================================================== -->
<!-- Server Thread Pool -->
<!-- =========================================================== -->
<Set name="ThreadPool">
<New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
<Set name="minThreads">10</Set>
<Set name="maxThreads">100</Set>
</New>
</Set>
<!-- =========================================================== -->
<!-- Set connectors -->
<!-- =========================================================== -->
<Set name="connectors">
<Array type="org.eclipse.jetty.server.Connector">
<Item>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host">localhost</Set>
<Set name="port">8080</Set>
<Set name="maxIdleTime">30000</Set>
<Set name="Acceptors">10</Set>
</New>
</Item>
</Array>
</Set>
<!-- =========================================================== -->
<!-- Set handlers -->
<!-- =========================================================== -->
<Set name="handler">
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler">
<!-- ======================================================= -->
<!-- Configure a web application with web.xml -->
<!-- ======================================================= -->
<Item>
<New class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="war">D:\workspace\jetty\webapps</Set>
</New>
</Item>
</Array>
</Set>
</New>
</Set>
<!-- =========================================================== -->
<!-- extra options -->
<!-- =========================================================== -->
<Set name="stopAtShutdown">true</Set>
</Configure>
変更した箇所は、
「Configure a web application with web.xml」とコメントのある箇所付近の
<Set name="war">D:\workspace\jetty\webapps</Set>
ここをWEB-INFフォルダや、web.xmlファイルを作成したパスに変更してやります。
ちなみに、web.xmlファイルは前回と同様です。
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Test WebApp</display-name>
<servlet>
<servlet-name>sample</servlet-name>
<servlet-class>sample.SampleServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>sample</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Eclipseプロジェクトの内容とサンプルソース
ほぼ前回と同様です。
変更箇所は、jetty.xmlが追加されたことでしょうか。
Eclipse上のパッケージ・エクスプローラーでは、このように表示されているはずです。
動作確認に使用したソースも前回と同様。
package sample;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SampleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html; charset=utf8");
PrintWriter out = response.getWriter();
out.println("SampleServlet");
out.close();
}
}
これで、EclipseのプラグインからJetty 7を起動することができました。