スキップしてメイン コンテンツに移動

Dropwizardのサンプルbucharest-jug / dropwizard-todoをEclipseで動かしてみる

こちらのスライドで紹介されてたサンプルを


Eclipse上で動かすまでのメモです。

環境

ちなみに

Dropwizardの特徴などは↓
2014ブレイク確実!JavaベースのポータブルなWebフレームワーク Dropwizard - yojikのlog
http://yojik.hatenablog.jp/entry/2013/12/13/002737

開発環境がIntelliJ IDEAの場合は解説動画があるようです(英語)
▶ Get started with Dropwizard using IntelliJ IDEA - YouTube
http://www.youtube.com/watch?v=UonVxuAOznc

Mavenの導入

以下のサイトを参考に導入
1. Maven とは | TECHSCORE(テックスコア)
http://www.techscore.com/tech/Java/ApacheJakarta/Maven/1/#maven-1-2
ダウンロード
http://maven.apache.org/
クラスパス
  • 環境変数「JAVA_HOME」に JDK のインストールされているディレクトリのパスを追加する。
  • 環境変数「PATH」に Maven の実行ファイルのあるディレクトリを追加する。(Windows の場合は「%M2_HOME%\bin」、Linux などの場合は「$M2_HOME/bin」です。)
確認コマンド
mvn --version

サンプルを動かす

EclipseのGit Repositoriesビューでクローンの作成を行います。
※ダウンロードするだけなので別にEclipseでなくてもいいです...


URIに「https://github.com/bucharest-jug/dropwizard-todo」と入力して、ウィザードを進めてダウンロードします。

デフォルトのまま行うとワークスペースディレクトリに作成されるので、dropwizard-todoディレクトリまで移動してコマンドプロンプトを開きます。

※ちなみに、Windows7の場合Shiftキー押しながら右クリックすると、「コマンドウィンドウをここで開く」という項目が表示されます。最近知りました(;^_^A

ビルド&実行

dropwizard-todoディレクトリで以下のコマンドを実行
mvn clean install

ビルドが正常に終われば、
コマンドプロンプトの様子

以下のコマンドでWebサーバーごと実行できます。
 java -jar todo-service/target/todo-service-1.0.0-SNAPSHOT.jar server todo.sample.yml

コマンドプロンプトの様子


ブラウザで確認


http://localhost:8080 にアクセスすると、サンプルのページが表示されます。


New todoボタンを押すとダイアログが表示されます。


サーバの停止コマンドはCtrl + Cあたりでできた気がします。

サンプルをEclipseで動かす

まず、Eclipseに取り込みます。その前に、dropwizard-todoディレクトリで以下のコマンド。
mvn eclipse:eclipse

パッケージエクスプローラー上で右クリック
import > Existing Maven ProjectでRoot Directoryにdropwizard-todoディレクトリを選択します。これで取り込まれます。で、なんかエラーが出てるので、

それぞれのプロジェクト上で右クリック > Maven > Update Projectを行います。そうするとエラーは消えます。

ここで修正したソースは、上記「サンプルを動かす」の手順で起動できますが、修正→ビルド→サーバ起動のサイクルが時間かかるのでデバッグ向きではありません。

※「サンプルを動かす」の手順の場合、修正してもテストが通らないと実行できないようです

Eclipseで動かすには、パッケージエクスプローラー上で右クリック > Run As > Run Configurationsを選択します。


Java Applicationに新規作成で、Main classにro.bjug.todo.TodoServiceを選択します。ArgumentsタブのProgram argumentsに
server D:/develop/WorkSpace/dropwizard-todo/todo.sample.yml

のようにymlファイルを指定し、Runボタンを押せばEclipseで実行できます。

参考

コメント

このブログの人気の投稿

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ

Eclipseの高速化メモ

Eclipseが重いと一言に言っても、いろいろな工程での話があると思いますが、過去記事のなども含めてこの記事にピックアップしておきたいと思います。以下はWindows環境での話です。