Jetty の変更点   

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • Jetty へ行く。

** 開発環境構築 [#wf05e118]
[[eclipse]] 
 http://ftp.jaist.ac.jp/pub/mergedoc/pleiades/4.3/pleiades-e4.3-ultimate-jre_20140321.zip

参考:
 http://symfoware.blog68.fc2.com/blog-entry-626.html
 http://chitan.hateblo.jp/entry/2012/06/30/150604

*** jetty8.1 を展開 [#o08f0782]
 http://download.eclipse.org/jetty/8.1.15.v20140411/dist/

 http://eclipse.org/downloads/download.php?file=/jetty/8.1.15.v20140411/dist/jetty-distribution-8.1.15.v20140411.zip&r=1
----
*** jetty プラグインのインストール [#oc5bbda1]

+ eclipse 起動
+ [ヘルプ]-[新規ソフトウェアのインストール]~
作業対象 追加
 名前: jetty
 ロケーション: http://download.eclipse.org/jetty/updates/jetty-wtp

インストール後、eclipse 再起動

** eclipse サーバ設定 [#j81288b3]
[ウィンドウ] -> [ビューの表示] -> [その他] -> [サーバー] -> [サーバー]

- 新規サーバを作成
Jetty v 8.1 Server~
ダブルクリックして設定~
Jettyインストール・ディレクトリー -> [参照] ~

[起動構成を開く] -> クラスパスタブ -> [外部Jar追加]~
下記2ファイルを追加~

 jetty8/lib/annotations/javax.annotation-*.jar
 jetty8/lib/annotations/org.objectweb*.jar

VM 引数に下記追加( IPv6->Ipv4)
 
 -Djava.net.preferIPv4Stack=true

** eclipse プロジェクト作成 [#f3c70f31]

+ [ファイル] -> 新規作成 -> その他 -> Web -> 動的Webプロジェクト
+ プロジェクト名: jettytest
+ 【新規ランタイム】 -> Jetty > Jetty v8.1
++ Jetty v8.1 > Jetty Installation directory Java7
+ ライブラリ -> 外部 jar 追加
+ c:\jetty8\lib\servlet-api-3.0.ja

+ プロジェクト(右) -> [構成] -> Mavenプロジェクトに変換
+ pom.xml -> 依存関係 -> 追加  
++ よく使うものを入れる slf4j-api / logback-classic /logback-core など

+ 新規Javaクラス
++ Javaリソース -> src -> 新規パッケージ [com.example]
++ 新規クラス SampleServlet.java 
+ extends HttpServlet

 package com.example;
 import java.io.IOException;
 import java.io.PrintWriter;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 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();
	}
 }

WebContent/WEB-INF/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_3_0.xsd"
    version="3.0">
 
    <display-name>Test WebApp</display-name>
    <servlet>
        <servlet-name>sample</servlet-name>
        <servlet-class>com.example.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>

[プロジェクト(右)] -> [実行] -> [サーバで実行]

 http:://localhost:8080/jettytest

port の変更
 /usr/jetty8/etc/jetty.xml
  <Set name="port"><Property name="jetty.port" default="8080"/></Set>

参考
 http://chitan.hateblo.jp/entry/2012/06/30/150604

----
deploy

download  
 http://download.eclipse.org/jetty/stable-8/dist/ 

 mv jetty-distribution-* /usr/local
 cd /usr/local
 tar xzfp jetty-*tar.gz 
 ln -s jetty-dist* jetty8

 cd /usr/local/jetty8
 bin/jetty.sh start

war の作成
 プロジェクトを右クリック ≫ export  war

 /usr/jetty/jetty8/webapps 以下に配置

----
* windows に deploy (service 化) [#h35a00f2]
参考
 http://weathercook.hatenadiary.jp/entry/2013/10/11/011306

** java環境のインストール [#od0fbbfd]

oracle からダウンロード
 http://www.oracle.com/technetwork/java/javase/downloads/index.html

Java SE7u60 JRE を選択
 jre-7u60-windows-x64.exe

- OSの環境変数に追加
 JAVA_HOME : c:\Program Files\Java\jre7
 Path(追加) : c:\Program Files\Java\jre7\bin

- java console で「ブラウザ上での実行」を無効に
- windows を再起動

** jetty [#l4f7dc3f]
ダウンロード
 wget 'http://eclipse.org/downloads/download.php?file=/jetty/8.1.15.v20140411/dist/jetty-distribution-8.1.15.v20140411.zip&r=1' -O jetty-distribution-8.1.15.v20140411.zip
 unzip jetty-distribution-8.1.15.v20140411.zip

ディスクドライブ直下に配置を推奨
 mv jetty-distribution-8.1.15.v20140411 c:/jetty81

** apache-commons-daemon [#s5236e6c]
サービス化パッケージのダウンロード
 wget http://www.apache.org/dist/commons/daemon/binaries/windows/commons-daemon-1.0.15-bin-windows.zip
 unzip commons-daemon-1.0.15-bin-windows.zip

64bit 版OS は amd64 以下の prunsrv を使用
 cp amd64/prunsrv.exe c:/jetty81/
 cp prunmgr.exe c:/jetty81/
 cd c:/jetty81

2ファイルをコピー(リネームではダメ。元のファイルを残してコピーすること)
 cp prunsrv.exe JettyService.exe
 cp prunmgr.exe JettyManager.exe

*** サービス登録 [#n7e4f9ff]
 cd c:/jetty81
 set JETTY_HOME=c:/jetty81
 prunsrv //IS//JettyService --DisplayName="Jetty Service" --Install=%JETTY_HOME%\JettyService.exe --LogPath=%JETTY_HOME%\logs --LogLevel=Debug --StdOutput=auto --StdError=auto --StartMode=Java --StopMode=Java --Jvm=auto --Startup=auto --JvmMx=512 --StartPath=%JETTY_HOME% ++JvmOptions=-XX:MaxPermSize=128m --Classpath=%JETTY_HOME%\start.jar --StartClass=org.eclipse.jetty.start.Main --StopClass=org.eclipse.jetty.start.Main ++StopParams=--stop ++JvmOptions=-Djetty.home=%JETTY_HOME% ++JvmOptions=-Djetty.port=8080 ++JvmOptions=-DSTOP.PORT=8079 ++JvmOptions=-DSTOP.KEY=jetty ++JvmOptions=-Djetty.logs=%JETTY_HOME%\logs ++JvmOptions=-Dfile.encoding=UTF8 ++JvmOptions=-Dorg.mortbay.jetty.Request.maxFormContentSize=1000000

*** 起動 [#d475a2be]
 スタート > 管理ツール > サービス
 Jetty Service を起動

*** 停止 [#q3677511]
 スタート > 管理ツール > サービス
 Jetty Service を停止

*** 削除 [#eeb22d7c]
install をやり直したい場合は下記を実行して windows を再起動
 prunsrv //DS//JettyService

*** port の変更 [#c3c4bbe1]
2つ起動したい場合などはポートとサービス名を変える必要がある~
jetty81/etc/jetty.xml
 <Set name="port"><Property name="jetty.port" default="18080"/></Set>

サービス登録時のポートも合わせて変更

ディレクトリごとコピーして、exe のファイル名と登録コマンドラインを変更

 cp -rfp c:/jetty81 c:/jetty81-18080
 cd c:/jetty81-18080
 set JETTY_HOME=c:/jetty81-18080
 prunsrv //IS//JettyService18080 --DisplayName="Jetty Service 18080" --Install=%JETTY_HOME%\JettyService18080.exe --LogPath=%JETTY_HOME%\logs --LogLevel=Debug --StdOutput=auto --StdError=auto --StartMode=Java --StopMode=Java --Jvm=auto --Startup=auto --JvmMx=512 --StartPath=%JETTY_HOME% ++JvmOptions=-XX:MaxPermSize=128m --Classpath=%JETTY_HOME%\start.jar --StartClass=org.eclipse.jetty.start.Main --StopClass=org.eclipse.jetty.start.Main ++StopParams=--stop ++JvmOptions=-Djetty.home=%JETTY_HOME% ++JvmOptions=-Djetty.port=18080 ++JvmOptions=-DSTOP.PORT=18079 ++JvmOptions=-DSTOP.KEY=jetty ++JvmOptions=-Djetty.logs=%JETTY_HOME%\logs ++JvmOptions=-Dfile.encoding=UTF8 ++JvmOptions=-Dorg.mortbay.jetty.Request.maxFormContentSize=1000000