14

私は多くの時間を費やしました、そして私の頭はすでに爆発しているので、私はどんな助けにも非常に感謝するでしょう。

Netbeansプラットフォームアプリケーションをantからmavenに移行しているので、バージョン管理リポジトリ内のすべてのjarをmaven依存関係に変更しています。メインのMavenリポジトリで必要なアーティファクトを見つけ、Netbeansを使用して依存関係として追加しましたが、タイプPOMであり、配置されてNon-classpath Dependenciesおり、追加されていないため、使用方法がわかりません。クラスパスなど…</p>

誰かがこれらのPOM依存関係とは何か、そしてそれらをどのように使用するかを説明できますか?

前もって感謝します!!

編集

これが依存関係の定義ですpom.xml

<dependency>
    <groupId>com.kitfox.svg</groupId>
    <artifactId>svg-salamander</artifactId>
    <version>1.0</version>
    <type>pom</type>
</dependency>
4

2 に答える 2

16

pom依存関係を追加すると、推移的な依存関係、つまりpom内の依存関係として定義されたjar依存関係のみがプルダウンされます。明らかな理由でpomはクラスパスに追加されませんが、pomから到達可能な推移的な依存関係はクラスパスに追加されます。

理想的に行う必要があるのは、タイプの依存関係を持つことです。jarデフォルトの依存関係タイプはであり、依存関係セクションに要素がjarなくても、依存関係を簡単に定義できます。type

必要なjarファイルをMavenCentalで見つけた場合は、依存関係セクションにある各ファイルのgroupIdartifactIdとバージョンを指定するだけです。

于 2012-10-13T14:19:09.983 に答える
3

pom個人的には、型の依存関係を追加する必要がある場合は考えられません。私は通常pom、プロジェクトの親モジュール(プラグインバージョンなどの一般的なプロジェクト構成log4j、リポジトリ、プロパティなどの一般的な依存関係を指定)とユーティリティパッケージモジュール(プロジェクトをアセンブルし、その他の必要なことを行うもの)にパッケージを使用します)。

私の経験から判断すると(私は数回行いました)、プロジェクトをantからmavenに移行するときは、プロジェクトが依存していたすべてのjarファイルを取得し、それらをmaven依存関係に変換する必要があります(groupId:artifactId:version)。ほとんどの場合、これらの依存関係のすべてには何もありません<type>(たとえば、jarファイル)。

于 2012-10-13T19:49:48.247 に答える