2011-01-16 7 views
3

私は、Webサービスにアクセスする必要があるAndroidアプリケーション(Eclipseプロジェクトとして)を構築しています。サービスからのデータをJSON直列化クラスとして送信するので、Androidアプリケーションとサーバーアプリケーションの間でいくつかのクラスを共有したいと考えています。私たちは現在、これを行う必要がある方法は、Gitリポジトリを3つのフォルダで構成することだと考えています。 1つはクライアント用、1つはサーバー用、もう1つは共有ライブラリ用です。AndroidクライアントアプリケーションとJSPサーバーアプリケーションの間でクラスを共有するためにプロジェクトをどのように構造化する必要がありますか?

しかし、その時点で私たちは共有コードの作成方法を理解できませんでした。すべての.javaファイルをフォルダに入れて、他のプロジェクトからそのフォルダへの相対リンクを作成するように見えますが、これについては良い方法ですか?

もう1つの可能性は、Eclipseで別のプロジェクトを作成して、ライブラリプロジェクトをクライアントプロジェクトに組み込むことでした。しかし、私たちはここで問題に遭遇しました。サーバーとAndroidの両方でライブラリを使用できるようにするにはどうすればよいですか? Eclipseで新しいJavaプロジェクトを作成する場合は、ビルドするJREを選択する必要がありますが、Dalvikはオプションではありません。また、Dalvik用にコンパイルされたライブラリをデスクトップVMでどのように使用できますか?

  • クライアント(アンドロイド)
  • を共有し、サーバーとクライアントの両方で、プロジェクトの依存関係として共有などが

    • サーバー:

    答えて

    5

    は、私は3つのプロジェクトを使用します。もしあなたがantを使用していれば、変更されるたびにserver/libとclient/libの両方のshared.jarを削除し、mavenを使用する場合は依存関係になります(Ant + Ivyの場合も同様です)。この場合、リポジトリの場所としてNexusを考慮してください。

    +1

    私はAntやmakeを使ったことがないので、この権利を理解しているかどうか教えてください。 jarを共有から他の2つのプロジェクトのフォルダにコピーするだけのAnt makefileを作成する必要があります。 makefileには、 "のような2行が必要です。そして、Eclipseのビルダーリストの最後にAnt Builderを追加して、共有プロジェクトを作成します。 –

    +0

    @Mr。あいまいな開発中に、共有プロジェクトをサーバープロジェクトとクライアントプロジェクトのビルドパスに追加することができます。配送(配送可能なパッケージを作成する)には、shared.jarファイルを他のすべてのjarファイルとは別の「プログラム」として考える方がよいでしょう。ハードディスクのどこかに "libs"というディレクトリを作成し、shared- .jarファイルをそこに置くことで可能性があります。そこからコピーしてください。 – extraneon

    0

    クラス/ JARのパスをサーバーのランタイムクラスパスに追加できます。

    これはどちらが使用しているか不明なので、Apache Tomcatに基づく一般的な答えです。

    • オープン/conf/catalina.propertiesファイル。
    • shared.loaderエントリを編集して、これらのクラスまたはJARファイルのパッケージルートへのパスを含めます。

      など。

      shared.loader = /path/to/classes 
      

      又は

      shared.loader = /path/to/specific.jar 
      

      又は

      shared.loader = /path/to/*.jar 
      

      あなたも、コンマで区切られた複数のパスを指定することができます。

    3

    実際には、共有クラス用に個別のEclipseプロジェクトを作成する必要はありません。他の2つのプロジェクトのディスク階層の外に「共通ソースフォルダ」を作成することができます。サーバープロジェクトとクライアントプロジェクトの両方:プロパティ/ Javaビルドパス/ソースで、新しいフォルダに「リンク元」を追加します。 (おそらく、これはあなたが '相対リンク'を意味するものです)。この共通ソースフォルダをAntビルドファイルに簡単に追加できます。

    関連する問題