問題タブ [dependency-management]

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.

0 投票する
2 に答える
3054 参照

maven-2 - Maven:推移的な依存関係でもある宣言された依存関係を保持または削除する必要がありますか?

Maven Pomに見られるすべての推移的な依存関係を削除することは良い習慣だと思いますか?

例:
私のプロジェクトはAとBに依存しています
。BもAの推移的な依存関係です
。Bをpomに保持するか、削除する必要がありますか?

最良のものは何ですか:
すべての既知のjarを、推移的なものも含めて、pomで宣言するか、トップレベルのjarのみを保持しますか?

これは少し主観的ですが、推移的な依存関係がたくさんある巨大なpom(親と子)をクリーンアップしようとしています。私は自分のpomをできるだけシンプルに保ちたいと思っていますが、それらも保守可能でありたいと思っています。

0 投票する
3 に答える
964 参照

c++ - C++: コンパイル時の依存関係を自動的に減らすツール

にきびイディオムについて読んだ後、私はぞっとしました!

.h/.cpp ファイルを調べて、放棄できる依存関係を推測できるツールはありませんか?

0 投票する
1 に答える
300 参照

dependencies - オープンソースのアーティファクトを Maven リポジトリに配置するにはどうすればよいですか?

最近、オープン ソース ライブラリhttp://jooq.sourceforge.netの最初の安定版リリースを公開しました。一般的な要望に応じて、アーティファクトを Maven リポジトリに配置したいと考えていますが、それが何を意味するのか正確にはわかりません。

私はmavenが依存関係管理システムであることを知っています。成果物用に記述的な XML ファイルを作成する必要があることはわかっています。質問は

  1. その XML ファイルを作成するにはどうすればよいですか (どの情報を含む)?
  2. log4j に (オプションの) 依存関係があります。それを指定するにはどうすればよいですか?
  3. その XML ファイルをどこに追加すればよいですか (つまり、各 .jar ファイル内? .zip ファイル内)。
  4. 成果物はどこにアップロードできますか? プロジェクトの Web サイトから参照できる公開リポジトリはありますか?
  5. そのリポジトリに何をアップロードしますか?
0 投票する
1 に答える
139 参照

logging - 自分のライブラリで log4j のようなサード パーティのライブラリに "軽い" 依存関係を作成できますか?

http://jooq.sourceforge.netでデータベース アクセス用のライブラリを維持しており、ログに log4j を使用したいと考えています。しかし、ロギングは実際には私のライブラリの非常にオプションの部分です。クライアント コードで log4j を使用できない場合は、ログを記録しません。そこで、次のようなロガー プロキシを作成しました。

私の質問は次のとおりです。

  1. これは良いアイデア/良い習慣ですか? または、log4j に「ハード」な依存関係を作成する必要がありますか?
  2. 上記のソリューションでは、log4j メソッドを直接呼び出した場合ほど正確にログを記録できません。たとえば、ログ ファイル内のログに記録された行番号または .java ファイルは、呼び出し元のものではなく、常に JooqLogger のものになります。その問題を回避する方法はありますか?
0 投票する
1 に答える
26859 参照

maven-2 - 分類子を使用してアーティファクトのMaven依存関係を変更する

Maven jarプラグインを使用して、bar-1.0.0.jarとbar-1.0.0-client.jarの2つのjarを作成します。

実際、私のPOMには、次の依存関係があります。

このアーティファクトは、2つのバージョンbar-1.0.0.jarとbar-1.0.0-client.jarにも存在します

bar-1.0.0-client.jarをfoo-1.0.0-client.jarに依存させ、bar-1.0.0.jarをfoo-1.0.0.jarに依存させたい

================

->最初の(間違った)解決策:提供されたスコープを定義し、bar.jarを使用するときに正しいfooパッケージを使用します

-> 2番目の(長い)解決策:「server」分類子を他のjarに追加します。別のプロファイルを使用してfooアーティファクトを作成し、分類子をプロパティに配置します。

================
プロファイルソリューションについて

インターフェイスモジュールpom

実装モジュールpom

このソリューションの問題は、クライアントインターフェイスにいくつかのインターフェイスがないため、コンパイルフェーズ中にMavenがコンパイルエラーをスローするためです。

また、myapp-modelと他のプロジェクトを使用する場合、適切なmyapp-interfaceに依存していませんでした。

jarファイルを作成して特定のpomを中に入れることは可能でしょうか?

0 投票する
1 に答える
1708 参照

build - 多くの言語で機能する Maven のようなツールはありますか?

Java(およびC / C ++)以上、特にPythonと.NET(C#)もサポートするMaven(標準化されたビルドとパッケージング、アーティファクトリポジトリなど)のようなツールを見つけようとしています。特に優れた依存関係管理が望まれます。

私たちの場所ではさまざまな言語のショップを運営しており、現在の自家製の python ベースの「über-buildsystem」はおそらくなくなるはずです。詳細なビルドを実行しようとせず、モジュール/プロジェクト間の依存関係を処理し、コンパイルされたアーティファクト (C++ の場合はライブラリごとに数百メガバイト) をダウンロードし、既存の .sln/.vcproj で msbuild/easy_install/etc を呼び出すことに注意してください。 /etc ファイルを使用して、実際のビルドを完了します。

それは機能しますが、主に私がそれを構築し、それができることとできないことを知っており、新しいものが必要なときに拡張するためです. 他の開発者がそれに取り掛かるのを本当に助けているわけではありません。(それほど手間かからず、説得力のある代替手段がないように見えますが。)

そう:

  • Python の setuptools は、Python (および一部の c++ -> .pyd コンパイル) のみに対応しているようです。
  • Maven は主に Java を実行し、一部の C/C++ は主に JNI 用に実行します。
  • C/C++ の場合は... 何もありませんか? (ビルド用のqmake/cmake)
  • .NET にはいくつかの機能がありますが、Visual Studio や MSFT ツールチェーン以外でもうまく機能しますか?

Ant (主に Beanshell を使用) の上に別の Maven (ただし、より柔軟なサポート) を構築することは、私が既に行ったことです。現在の Python のものは、その派生物です。

アップデート:

上で示したように、Ant+Ivy は上にかなりのビルドを必要としますが、より多くのビルド タスクとアーティファクト リポジトリをすぐに取得できるため、おそらく現在のものよりも優れた基盤となります。( C++ の Maven Like 依存関係管理を参照してください)

すべての助けを暖かく感謝します!

0 投票する
2 に答える
2018 参照

ivy - IvyがWebブラウザに表示されるスプリングテストの依存関係を解決できないのはなぜですか?

次の依存関係を除いて、すべての依存関係を正常に解決できるivy.xmlがあります。

私のivysettings.xmlには次のリゾルバーがあります。

依存関係を解決しようとすると、次のエラーメッセージが表示されます。

ただし、ブラウザでそのURLに移動すると、.pomと.jarsが表示されます。Ivyがこの依存関係を解決するのを妨げているのは何ですか?

0 投票する
1 に答える
288 参照

m2eclipse - プロジェクトの実行時に、ワークスペースでプロジェクトを開くための m2eclipse 依存関係が欠落している

いくつかのモジュールを含むアプリケーションに取り組んでいます。モジュールは独立した Maven プロジェクトとして定義され、相互に依存関係があります。この質問に対して、project-a と project-b が存在し、project-b が project-a に依存している例について話しましょう。この依存関係は、project-b の pom で定義されています。

project-b のみが Eclipse で開かれている限り、m2eclipse は project-a の JAR ファイルをクラスパスにインクルードし、Ctrl + F11 を押して (または Eclipse の [実行] で [実行] を選択して) project-b を実行できます。メニュー)。

両方のプロジェクトが Eclipse で開かれている場合、依存関係は Eclipse プロジェクトに解決され、JAR ファイルには解決されず、実行コマンドは失敗します。これは、m2eclipse がプロジェクト a のターゲット フォルダーをクラスパスに明らかに含まないためです。

Eclipse で両方のプロジェクトを開いて project-b を実行する方法を誰かがヒントを持っていますか?

トムカ。

0 投票する
2 に答える
6051 参照

maven-2 - 依存関係の競合があるときに Maven ビルドを中断する方法は?

プロジェクトに対して mvn dependency:tree を実行したところ、次のような出力が表示されました。

私のプロジェクトは slf4j 1.6.0 に直接依存しており、推移的に依存している一部のライブラリは slf4j 1.6.1 に依存しているため、これは悪い状態です。これら 2 つのバージョンはたまたまバイナリ互換であるため、ビルドは警告なしで成功します。このシナリオで失敗する新しいビルドを構成できるように、Maven の依存関係の解決をより厳密にする方法はありますか? この場合の解決策は、依存関係を新しいバージョンの slf4j に更新することです。

0 投票する
2 に答える
3761 参照

c++ - C++ のソース コード依存関係マネージャー

ここには依存関係マネージャーに関するいくつかの質問がすでにありますが、依存関係の追跡と解決をより簡単にすることを純粋に目的としたものを探している間、それらは主にビルド​​システムに関するものであるように私には思えます(そして、私は必ずしも新しいことを学ぶことに興味があるわけではありません)。ビルドシステム)。

したがって、通常、プロジェクトと、別のプロジェクトとの共通コードがあります。この共通コードはライブラリとして編成されているため、プロジェクトの最新バージョンのコードを取得したい場合は、ソース管理からすべてのライブラリも取得する必要があります。これを行うには、依存関係のリストが必要です。次に、プロジェクトをビルドするために、このリストも再利用できます。

私は Maven と Ivy を見てきましたが、Java をかなりターゲットにしているように見えるので、それらが C++ に適しているかどうかはわかりません (C++ 用のプラグインはあるかもしれませんが、それらを推奨する人は見つかりませんでした)。 .

標準化された依存関係リストを作成し、さまざまなスクリプトなどで解析できる GUI ツールだと思います。ソース管理 (タグ、依存関係のあるタグ付きバージョンの取得など) と統合できればいいのですが、それはオプションです。

何か提案はありますか?多分私は何かが欠けているだけで、通常はそのようなツールを必要とせずに他の方法で行われますか? ありがとう。