問題タブ [maven-publish]
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.
gradle - すべての推移的な依存関係を除外すると、Gradle は self を除外します
私は解決できなかった特定の問題に出くわしました。助けに感謝します。もともと、Java プロジェクトにアーティファクトのみの依存関係としていくつかの jar 依存関係を含めました。これは次のようになりました。
ここまでは順調ですね。このプロジェクトを「A」としましょう。プロジェクトAを別のJavaプロジェクトBに含めました。これもgradleを使用しています。maven-publish で公開された A は、B で使用するときに、pom ファイルですべての推移的な依存関係を除外していないことに気付きました。
だから私は推移的なフラグを使い始めました:
これにより、プロジェクト B で、Eclipse プラグインと gradle 自体を使用するときに、A のすべての推移的な deps を除外したことが確認されます。
ただし、公開された pom.xml で除外が欠落しているという問題は残りました。次に、執筆時点で私のgradleバージョンで解決されているように見えるこの問題を見つけました:GRADLE-2945
だから私は次のことを試しました:
pom ファイルには、 maven docに従って、推移的な依存関係に必要な除外ルールが正しく含まれるようになりました。
ただし、これは別の問題を引き起こします。compileJava タスクを使用する場合、eclipse も gradle 自体も、そのように A を含めるとプロジェクト B のコードをコンパイルできませんでした。その推移的な依存関係とともに、A 自体が姿を消しました。
ただし、奇妙なことに、依存関係タスクによれば、それはコンパイル クラスパスの一部です。
私は JRE7 と gradle 2.3 を eclipse 4.41 で使用しており、nexus を内部の Maven リポジトリとして使用しています。
推移フラグを使用する必要はなく、必要な除外を追加して、生成された pom ファイルを手動で操作する必要はないと思います。
プロジェクト A として dbcp を使用して問題を再現するサンプル プロジェクト:
Main.java:
build.gradle:
java - Maven-publish は pom ファイルに withXML を適用できません (メソッドの署名なし)
わかりましたので、ここで説明されている正確な問題が発生しています。
Gradle を使用した POM に Android ライブラリの依存関係がない
次のように、提供された回答をgradleファイルにコピーしました。
ただし、publishToMavenLocal を実行しようとするとエラーが発生しますが、その理由がわかりません。
注: 136 行目は次の行です。
maven - GradlePublishPlugin:生の公開ファイルの分類子を追加するには?
バイナリ ファイルを Apache Archiva リポジトリに公開しています。Web インターフェイス経由で分類子を追加できますが、gradle maven パブリッシング プラグインの使用に関しては、jar アーティファクトの分類子しか追加できません。
実行可能ファイルを公開しようとしているので、ファイルとして渡します
分類子を除いて、すべてがうまく機能します。
maven - grails3 プラグインを Artifactory に公開 - 生成された pom の違い
grails 3 プラグインのスナップショットをリモート Maven リポジトリ (Artifactory) に公開しようとしています。ここに私のビルドスクリプトがあります:
私が実行しているときgradle install
-プラグインをローカルm2リポジトリにインストールすると、すべてが正常に機能し、pomは適切に見えます.スコープとバージョンがまったく同じ依存関係があり、ローカルリポジトリへの公開中に依存関係がpomから除外されます. 私がgradle publishMavenJavaPublicationToMyArtifactoryRepository
pomを実行しているとき、非常に奇妙に見えます.gradleは、ビルドスクリプトの依存関係スコープで定義されたものを無視し、常にruntime
. 例として:
ポンポン後gradle install
:
ポンポン後gradle publishMavenJavaPublicationToMyArtifactoryRepository
:
また、 pom after にgradle install
は scope の依存関係が含まれていませんprovided
。gradle publishMavenJavaPublicationToMyArtifactoryRepository
含まれている後の Pom.xml
バージョンがないと、gradle はそれを好まない。
なぜこのように異なる結果が得られるのですか? gradle publishMavenJavaPublicationToMyArtifactoryRepository
forと同じ pom を生成するにはどうすればよいですか gradle install
。出版物セクションで pom を編集する機会が好きではありません。どんな助けでも大歓迎です。