問題タブ [subproject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Play Framework 2.3.4 はサブプロジェクトへのリダイレクトをルーティングします
Play フレームワークではかなり新しいですが、メイン プロジェクトのサブプロジェクトをセットアップしようとしましたが、ルートをメイン プロジェクトからサブプロジェクトにリダイレクトしようとすると、サブプロジェクト変数を認識できませんでした。ここのドキュメントに基づいてフォローしましたPlaySubProject
私の主なプロジェクト構造は次のとおりです。
これは私のメインの build.sbt ファイルです:
私のサブプロジェクト build.sbt は次のとおりです。
最後に、これが私のメインのルート ファイルです。
問題はこのルート ファイルにあり、最終行のサブ変数さえ認識できませんsub.Routes
。この問題を解決するには?
java - Eclipseでサブプロジェクトのクラスパスを分離するには?
Eclipse 用の Git プラグイン (「Egit」) があることは知っていますが、コマンド ラインで Git を行うのが好きで、Eclipse でコーディングするのが好きなので、それらを分けておきたいと考えています。
Git リポジトリのクローンを作成しました (これは重要ではないと思いますが、参考までにhttps://github.com/spinscale/dropwizard-jobs.git
)。次に、Eclipse (Juno) を開いて新しい Java プロジェクトを作成し、複製したリポジトリのルートをプロジェクトのベース パスとして選択しました。プロジェクトを Java ファセットに関連付けるかどうかを Eclipse が尋ねてきたので、[OK] をクリックしました。
このプロジェクトには大きな依存関係ツリーがあります (必要に応じて、4 つの POM ファイルを確認してください)。私はビルドに Maven を使用していない (Gradle を使用している) ため、これらの POM の依存関係をディレクトリに解決するスクリプトを実行し、lib
この Eclipse プロジェクトにディレクトリを作成し、すべての JAR をそこにコピーしました。次に、これらすべての JAR をプロジェクトのクラスパスに追加しました。
現在、Eclipse の [問題] ビューに10 個のエラーが表示されていますが、これらはすべて同様のエラーです。
- タイプ ApplicationStartTestJob はすでに定義されています ApplicationStartTestJob.java /dropwizard-jobs/dropwizard-jobs-core/src/test/java/de/spinscale/dropwizard/jobs 行 10 Java 問題
- タイプ ApplicationStartTestJob は既に定義されています ApplicationStartTestJob.java /dropwizard-jobs/dropwizard-jobs-guice/src/test/java/de/spinscale/dropwizard/jobs 行 10 Java 問題
- さらに8つすべてこのようなものなど
案の定、プロジェクト全体を展開すると、次の構造になっていることがわかります。
したがって、このプロジェクトのメンテナーは、ユニット テストの名前をまったく同じパッケージ/クラス名に変更したいと考えているようです。何らかの理由で、Eclipse はそれらをすべて同じパッケージ内に属していると見なします。これをテストするために、名前を別の名前に変更dropwizard-jobs-core/src/main/java/de.spinscale.dropwizard.jobs.ApplicationStartTest
し、同じことを行って、確かに、既に定義されていることにdropwizard-jobs-guice/src/main/java/de.spinscale.dropwizard.jobs.ApplicationStartTest
関連するすべてのエラーがなくなりました。ApplicationStartTest
したがって、私の疑いが確認されました。これらのサブフォルダー ( 、および)の意図は、それらが別個のクラスパスを持つサブプロジェクトであることです。Eclipse は、これらすべてのソース フォルダーが同じプロジェクトの一部であると見なし、すべてのクラスを同じクラスパスにまとめています。各サブプロジェクトは同じ単体テスト命名規則 (各サブプロジェクトに同じパッケージ/クラス名) を使用するため、Eclipse は同じパッケージ内の複数のクラスを同じ名前を持つものとして認識します。dropwizard-jobs-core
dropwizard-jobs-guice
dropwizard-jobs-spring
いいよ!私は問題を理解しました。しかし、解決策は何ですか?理想的には、これらすべてを同じプロジェクト内に保持できますが、おそらく.classpath
ファイルを変更するか、クラスパスの観点からサブプロジェクトを分離しておくように Eclipse に指示する同様のことを行います。何か案は?
configuration - 特定のサブプロジェクトにのみ適用されるGradleカスタムタスク?
カスタムherpderp
Gradle タスクを作成しました。
これにより、このタスクを他の Gradle ビルドに追加して、他のプロジェクトのビルド呼び出し内で使用できます。
現在、次のマルチプロジェクト設定があります。
どこmyapp/build.gradle
にある:
そしてどこにmyapp/settings.gradle
ある:
myapp
親ディレクトリに移動して実行しgradler clean build herpderp
、herpderp
タスクをmyapp-client
andmyapp-shared
プロジェクト (サーバー プロジェクトではなく)でのみ実行できるようにしたいと考えています。
そのため、別のカスタム タスクまたはその内部にある種のクロージャ/メソッドが必要なようmyapp/build.gradle
です。
- 実行し
clean build
ます。それから cd
( ) を にドロップしmyapp-client
て実行しherpderp
ます。その後- にドロップし
myapp-shared
て実行しherpderp
ます。
親ビルド コマンドから呼び出され、クライアントおよび共有サブプロジェクトでのみ実行されるようにするには、ファイルに何を追加する必要がありますか?herpderp
java - Playframework データベースの単体テストがサブプロジェクトで失敗する
データベースを使用した Play サブプロジェクトの単体テストは、次のエラーにより失敗します:
javax.persistence.PersistenceException: デフォルトの EbeanServer が定義されていませんか? これは通常、ebean.datasource.default プロパティを介して設定されます。それ以外の場合は、 registerServer() を介してプログラムで登録する必要があります
次のようなことをするとスローされます。
また
どちらも機能しません - 次のエラーが発生します: java.lang.RuntimeException: DataSource user is null?
私が見つけた唯一の (非常に醜い) 回避策は、ユニット テストを、モデル クラス ( MyEntity ) を含むサブプロジェクトをホストするルート Play プロジェクトに移動することです。
サブプロジェクトで単体テストを機能させる方法を知っている人はいますか?
ios - サブプロジェクトからクラスを含める方法
(Xcode 6.1、Objective-C、iPad)
別のプロジェクト (サブプロジェクト) を持つ Xcode プロジェクトがあります。
通常の方法でサブプロジェクトからクラスを #import しようとしています:
しかし、私はエラーが発生しています:
サブプロジェクトを開くと、クラスは階層内にあります。
サブプロジェクトに存在するクラスをメイン プロジェクトに含めるにはどうすればよいですか? どうも :)
java - フレームワークのサブプロジェクトを再生 - すべてのサブプロジェクトからコンソールに書き込みますか?
Play! を使用して Web アプリケーションを開発しています。フレームワーク 2.2.1 と Java 8。最近、プロジェクトを複数のサブプロジェクトに分割しましたが、コンソール (System.out) に書き込むことができるサブプロジェクトは 1 つだけのようです。
たとえば、2 つのサブプロジェクトにグローバル オブジェクトがあり (これを行う方法は既に処理されています)、両方で onRouteRequest をオーバーライドすると、そのうちの 1 つ (明らかに最初に実行するもの) のみがコンソールに書き込むことができます。
どうすればこれを修正できますか? ありがとう!
objective-c - Mac アプリを Xcode からコンピューターのデスクトップにエクスポートする際の問題
Mac アプリのコンパイル済みコピーをデスクトップにエクスポートして実行する際に、ややイライラする問題があります。まずは背景を...
アプリには、参照される 2 つのサブプロジェクトが含まれています。最初のプロジェクトはアーカイブを作成し、2 番目のプロジェクトはフレームワークを作成します。どちらも特定の機能を実行するためにメイン プロジェクトで使用されます。
アプリは Xcode 内で正常に動作します。問題は、アーカイブしてデスクトップにエクスポートして、それ自体がどれだけうまく動作するかを確認するときに始まります。これには通常の手順を使用しますが、デスクトップからアプリを起動しようとすると、読み込まれません。ダイナミック ローダーがフレームワーク オブジェクトを見つけられないというメッセージが表示されます。最も役立つと思われるエラー レポートの部分には、次のように書かれています...
Dyld エラー メッセージ: ライブラリがロードされていません: @rpath/JXLS.framework/Versions/A/JXLS
参照元: /Users/USER/BuntingSimulator.app/Contents/MacOS/Baseball Situation Simulator
理由: 画像が見つかりません
JXLS は存在しますが、エクスポートされた Mac アプリ バンドルには含まれていません。どこを探すべきか、何を探すべきかについて何か提案はありますか? 私の疑念は、@rpath の値と、サブプロジェクトがメイン プロジェクト内でどのように参照またはビルドされているかにあります。
前もって感謝します。
これは、以下の回答を得た後に追加されました。誰かがこれを使用する必要がある場合に備えて、プロジェクトに加えられた変更が少しわかりにくいので説明したいと思います...
最初に、メイン ターゲットのビルド フェーズにファイルのコピー ステップを追加する必要があります。どういう意味ですか?
詳細な手順は次のとおりです。
1: メイン プロジェクトのメイン ターゲットをクリックします。 2: ビルド フェーズを選択します。 3: プラス記号をクリックして、ビルド フェーズを追加します。 「フレームワーク」へ 6: フレームワーク オブジェクトを左側のパネルから、作成したばかりの新しいコピー フェーズの名前セクションにドラッグします。
次に、フレームワーク ターゲットの「ビルド設定」に入り、@rpath を @executable_path/../Frameworks に置き換える必要があります。