2011-12-23 13 views
4

私はC++、Python、Djangoのバックグラウンドを持ち、私は自分の視野を広げ、ScalaとLiftを学びたいと思っています。しかし、eclipseを使用してLiftアプリケーションをデバッグする方法を考えるのは本当に苦労しています。EclipseでLiftアプリケーションをデバッグするにはどうすればよいですか?

いくつかのリフトsbtテンプレートを使用してプロジェクトを作成し、問題なく実行できます。しかし、私はJettyを見つけることができないため、Eclipse内からアプリケーションを起動できませんでした。その結果、デバッガを使用してLiftコードをステップ実行することはできません。数週間のグーグルではあまり助けにはならなかった。

誰かが方法や提案を共有できますか?私はjvmにも新しく、ベストプラクティスを共有したり、欠けているかもしれない重要な相違点を指摘してください。

答えて

7

これはわかりました。

私はEclipseデバッガから実際にアプリケーションを起動していません。私はsbtを使ってアプリケーションを起動し、Eclipseリモートデバッガをwebappを実行しているsbt VMに接続しています。ここで

は、私がやったことだ:

は、あなたが/ binに-launch.jarをSBTしていると仮定:

実行し、このラインを含むためのアクセス許可を持つファイル/ binに/ sbt_debugを作成します。

java -Xmx512M -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar /bin/sbt-launch.jar "[email protected]" 

このスクリプトが行っていることは、sbtを起動し、ポート5005でデバッグを許可するようにjvmに指示することです。

端末のリフトプロジェクトディレクトリに移動し、 sbt_debugと入力します。 sbtコンソールに入ったら、使用しているsbtのバージョンに応じて、container:start/container:updateまたは〜jetty:start /〜jetty:updateと入力します。

次に、Eclipseに行くデバッグアイコンをクリックして選択し、「デバッグコンフィギュレーション...」

を左の欄には、「リモートJavaアプリケーション」をクリックして、新しいデバッグコンフィギュレーションを作成します。 5005

にポートを設定するには、デバッグボタンを押すと、Eclipseのデバッガは、今あなたが以前

注を開始したSBTプロセスをデバッグする必要があります。これは私のために働いた第一の方法です。より良いものがあれば、

+1

これは、Liftアプリケーション開発でデバッガを使用する場合に推奨される方法です。少なくとも、[メーリングリスト](http://groups.google.com/group/liftweb) – fmpwizard

+0

にお寄せください。うまくいけば、この回答はGoogle経由で見つけるのが少し楽になります。 – Blake

+0

今後数週間、リフトwikiにエントリーを追加します。 – fmpwizard

1

SBT Eclipse PluginRunJettyRunのEclipse用の最も有用なツールが見つかりました。前者はSBT設定に基づいてEclipse設定ファイルを生成することができ、後者はデバッガを接続してEclipseからJettyを起動します。追加のボーナスは、SBTプロンプトから "eclipse with-source = true"を使用してEclipse設定を生成すると、src jarもダウンロードして添付することができるため、Liftやあなたが依存している他のサードパーティのライブラリコード。

関連する問題