LoginSignup
7
7

More than 5 years have passed since last update.

フォルダを指定してHTTPサーバーを立ち上げるGroovyスクリプト

Last updated at Posted at 2014-04-30
  1. Python の SimpleHTTPServer みたいなのが欲しかったけど自分は Windows の Groovy ユーザーだった。
  2. 調べたら、 Groovy のサンプルに SimpleWebServer.groovy というのがあり、同じようなことができるらしい。
  3. 実際に使ってみたら、1リクエストごとに java.io.FileNotFoundException: .\favicon.ico (指定されたファイルが見つかりません。) というエラーが出る。
  4. 当然のように日本語名ファイル(フォルダ)には対応していない(文字化けする)。

悔しかったので自作した。

java 1.7 以上。Windows7 上の Chrome と Firefox でのみ動作確認済み。

使い方

使い方
F:\tmp\http>tree /f
│  index.html
│  http.groovy
│
└─フォルダ
        ほげ.txt

F:\tmp\http>groovy http.groovy

port=80
base-dir=F:\tmp\http\.

http.JPG

http.JPG

usage
>groovy http.groovy -h
usage: http <option>
 -b,--base-dir <path>   ベースディレクトリのパス(デフォルトはカレントディレクトリ)
    --debug             デバッグモードで実行する。
 -h,--help              このヘルプを表示する。
 -p,--port <port>       ポート番号を指定する(デフォルト 80)

java コマンドで実行する

Groovy をインストールしていない環境用。

以下の jar を用意する。

  • %GROOVY_HOME%\embeddable\groovy-all-2.x.x.jar
  • %GROOVY_HOME%\lib\commons-cli-1.2.jar

Groovy のコードを http.groovy で保存して、以下のコマンドで実行。

>java -cp commons-cli-1.2.jar;groovy-all-2.x.x.jar groovy.ui.GroovyMain http.groovy

実装

opengl-8080/groovy-http-server

参考

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7