2011-08-12 8 views
1

私のラップトップは開発用ですが、そのリソースは限られています。私はローカルのEclipse/Mavenとローカルのコードベースを持っています。私はいつでもプログラム、コンパイル、およびjunit-testができるようにしたいので、これを保持したいと思います。リモートサーバー上でeclipse/mavenプロジェクトをデバッグしますか?

私のオフィスでは、大きなデータベースと8GB RAMのJavaヒープを使用して、プロダクションのようなシナリオでデバッグできるようにしたいと考えています。

コンパイルしたコードをリモートマシンに配置し、mavenプロセス(jetty:リモートマシンで実行する)を実行し、デバッグにeclipseを添付するようにeclipseとmavenを設定するのは難しいことではないと思いました。リモートマシンは独自のデータベースを持つことができるので、mavenリポジトリが同期していることを確認するだけです。

誰でもこのシナリオを実行することはできますか?私はまだ私の〜10のプロジェクトのコンパイルされたソースをリモートマシンに置く方法を理解できませんでした。私はmavenタスクを実行し、デバッガをつけることはssh-magicで簡単にできると思う。

+0

これは簡単に行うことができます。その後、あなたは

git push -f <user>@<host>:/<path> master 

はあなたがマスターで作業している、その後、リモコンの仮定でいつでもリモートへの変更をプッシュすることができます。何を正確にデバッグしたいですか?ユニットテスト?埋め込み桟橋?さらなる情報を提供する。 –

+0

こんにちはMicheal、私が記述したように、mvn jetty:run javaプロセスをリモートで実行してデバッグしたい。 CLASSPATHは、私のEclipseワークスペース(maven workspace resolution enabled)〜maven依存関係(リモートサーバー上にあり、必要な魔法はありません)から〜10個のクラスフォルダにあります。この環境をデバッグするにはどうすればよいですか? – Jan

+0

しばらくすると、私は、「実行時にMavenビルド...を実行する」ことを「理解する」Java環境ラッパーを作成しようとします。これは、リモートホスト上で簡単なJavaスクリプトを実行するために既に動作します。 (クラスパスをコピーし、javaをssh、connection input/outputstream経由で呼び出します)。しかし、それは遠くの準備ができているからです... – Jan

答えて

2

ファイアウォールに問題がなければ、本当にssh-magicは必要ありません。何とかあなたのプロジェクトを何とかしてから、mvnの代わりにmvnDebugでビルドを実行してください。 Mavenはデフォルトでポート8000​​のデバッグ接続をリッスンし、ビルドを進めるために接続するまで待機します。 Eclipseのremote debuggingランチャーを設定すると、正常に接続してデバッグします。コードを取得する場合はrsyncを使用できますが、これはgitの優れた使用例です。そういうわけで私はこの正確なことを自分でやっています。

編集: Eclipseでこれを行う方法はありませんでしたが、Eclipseから任意のコマンドを実行できるので、rsyncは正常に動作するはずです。 rsyncを使用すると、

rsync -ruz . <user>@<host>:/<path> 

それだけで最初のコピー後に更新されたファイルをコピーし、リモートホスト上にディレクトリの全内容をコピーする必要がプロジェクトディレクトリから、と実行のような何かをしたいと思います。繰り返し可能な--excludeオプションを使用して、ターゲットなどのディレクトリを除外できます。例えば。 --exclude=target。プロジェクトをコピーした後、あなたはgitのに精通していない場合はgitの方法はもう少し難解に思えるかもしれない

ssh <user>@<host> mvnDebug <whatever> 

でビルドを開始することができますが、それは簡単に修正を加えることができるという付加的な利点を持っていますリモコンをローカルに戻します。 gitでは、まずsshでリモートにログインし、プロジェクトディレクトリを作成してgit initとします。

git reset --hard 
mvnDebug <whatever> 
+0

"リモートで何とかあなたのプロジェクトを手に入れてください"というのは難しい部分です - 私は手ではなく日食のように - キーストロークで行うことを望んでいます。私はgitの経験はありませんが、私が望んでいないのは、リモートホスト上で私のソースコードをチェックアウトすることです。 – Jan

+0

ライアンが正しい解決策を教えてくれました。 1.あなたのコードをそのマシンに渡します。 2.コンパイルを行います。3. jettyでmvnDebugを実行します。実行して、そのVMに接続します。それでおしまい。 –

+0

私の答えを更新しました。それが役立つかどうかを見てください。 –

関連する問題