2013-03-27 13 views
11

Eclipseで既存のプロジェクト(「NotPlayProj」と呼ぶことにしよう)があります。これにはまだ開発中のJavaコードがたくさんあります。私はplay 2.1.0(それを "PlayProj"と呼ぶ)を使って新しいEclipseプロジェクトを作った。私の目標は、PlayProjでNotPlayProjのコードを使用し、どちらのプロジェクトでもEclipseとPlayコンパイラの両方に変更があることを通知することです。Playフレームワーク2.1.xでEclipseで複数のプロジェクトを使用する

PlayProjのプロパティに移動して[プロジェクト]タブでNotPlayProjを追加すると、メソッドの補完とインクルードはEclipse内で機能しますが、Playコンパイルでは結果が表示されません。私はPlayモジュールを見てきましたが、それらは私がしたいことをしていないようです。

これを行う方法はありますか?理想的にはNotPlayProjを変更しないでください。

編集--- 私はPlayProj/libディレクトリにNotPlayProjからjarファイルをエクスポートする方法を示しているhttp://www.playframework.com/documentation/2.0/SBTDependenciesを見てきましたが、これは毎回NotPlayProject変更のためのマニュアルのエクスポートが必要です。私はマネージド依存関係のセクションがこれをカバーすると思われますが、これまでSBTを使用したことはないので、おそらく基本的なものが失われていると思います。

+0

この記事を読んで、おそらくそれは役立ちます:http://stackoverflow.com/questions/10226919/reload-app-on-custom-file-in-playframework – adis

+0

参考資料をありがとう。私が必要とするものではありませんが、それは一般的な野球場にあります。私はスクラッチからsbtを学ぶ必要があると思う。 –

+0

これはあなたがやってみたいことですかhttp://stackoverflow.com/questions/10090829/how-to-reference-a-different-java-project-in-eclipse? – th3byrdm4n

答えて

2

必要なものは、継続的な統合です。

Jenkinsをご覧ください。http://jenkins-ci.org/ 必要なビルドをカスタマイズして、継続的インテグレーションサーバーをセットアップする必要があります。

例:PlayProjは一部のサーバーで動作していますが、NoPlayProjという別のプロジェクトの最新クラスの一部を使用できる必要があります。

リビルドは必須ですが、ダウンタイムゼロなどのことは達成するのが難しいです(少なくとも私はあなたに求めているとは思わない)。あなたはジェンキンスを自動化する必要がある 手順は次のとおりです。

1 - いくつかのrepositorium

2に位置していますNoPlayProjの最新バージョンをビルドしてデプロイ - 一部に位置していますPlayProjの最新バージョンをビルドしてデプロイ既存の依存関係を更新した最後のコミットが含まれていますNoPlayProj

Jenkinsではあまり複雑ではないビルドとデプロイメントの指示を設定できます。これは少しあなたをスピードアップする必要があります。 また、可能であれば、両方のプロジェクトを作成することをお勧めします。これは、依存関係を簡単に管理するのに役立ちます。

ちょうど一つのことを明確にするために、あなたが言った: My goal is to use code from NotPlayProj in PlayProj and have both Eclipse and the Play compiler notice changes in either project.

さて、あなたは限り、あなたは、コードをコミットする前に、依存関係を更新して何をしたいかで左右されることになるのビルドを実行する順番。

最後に、デプロイする必要がない場合は、作成するだけでJenkinsジョブを作成できます。 Jenkinsでは、たくさんのことができますし、追加の機能を提供できる独自のヘルプスクリプトを実行することもできます。

これは便利だったと思います。

0

私はプレイフレームワークを使用したことはありませんが、プレーフレームワークとエクリプスの両方が理解できる形式、つまりMavenであると私は考えるでしょう。見てくださいhttp://www.playframework.com/modules/maven-head/home

1

PlayProjで作業するときにNotPlayProjの変更をEclipseに表示させるには、PlayProjの設定を変更すれば十分です。プロパティ - > Javaビルドパス - >プロジェクト - > NotPlayProjを依存関係として追加します。

jarとしてパッケージ化するまで、Playコンパイラに依存関係を処理させる簡単な方法はありません。 jarファイルをコピーする単純なantタスク(External tools configuration - > Ant build)の設定を検討してください。タスクは、キーまたはボタンを押してトリガーすることができます。

管理依存関係では、NotPlayProjを変更するたびに、手動で再構築する必要があります。 Ivy/Mavenがローカルリポジトリに依存するようにする。その後、Playはローカルリポジトリから最新のスナップショットを取得します。

どちらの方法もいくつかの努力が必要です。プレイを実行するPythonスクリプトを見てみてください。おそらく、再生開始時にNotPlayProjでクラスパスを拡張するだけで十分でしょう。

関連する問題