1

私はmavenを使用していますが、現在次の問題に悩まされています:

プロジェクトのセットアップ:

- master (parent project)
- module1 (parent is master)
- module2 (parent is master and needs module1 as "provided")

次の settings.xml に示すように、すべてのアーティファクト リクエストのミラーとしてアーティファクトを作成しています。私のビルドに必要な独自のjarがほとんどないため、これはある意味で必要です(そしてアーティファクトがそれを担当しています)。

settings.xml:

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>${user.home}/.m2/repository</localRepository>
  <interactiveMode>true</interactiveMode>
  <usePluginRegistry>false</usePluginRegistry>
  <offline>false</offline>
  <mirrors>
    <mirror>
      <id>artifactory-virtual-repo</id>
      <name>myartifactory</name>
      <url>http://<artifactory-ip>:8081/artifactory/simple/<repo-name>/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
  <proxies/>
  <profiles/> 
  <activeProfiles/>
</settings>

module1 は正常にビルドされます。ただし、マスターまたはモジュール 2 をビルドしようとすると、これらのプロジェクトがまだ欠落しているアーティファクト (上記の settings.xml で説明) でモジュール 1 がチェックされます。Eclipse (m2e) に強制的にワークスペース プロジェクトも表示させるにはどうすればよいですか?

つまり、リポジトリでアーティファクトが見つからない場合に、現在のワークスペース内のアーティファクトも確実に検索されるように Maven を構成するにはどうすればよいですか?

4

1 に答える 1

1

リアクターでモジュールとして宣言されると、Maven は依存関係を「内部」と見なします (そして、jar を追跡するのではなく、プロジェクト内のクラスを探します)。親 pom に次のモジュール宣言がある場合、Maven は Artifactory にアクセスするべきではありませんが、コンパイルされたクラスを使用する必要があります。

<modules>
    <module>module1</module>
    <module>module2</module>
</modules>
于 2013-05-09T08:09:02.377 に答える