2

プロジェクトを生成するために maven-eclipse-plugin (M2E ではありません!) を使用しています。ソース ディレクトリ C:\source の下のプロジェクトをチェックアウトしましたが、このソースは Maven 規則で編成されていません。私のEclipseワークスペースは、POMファイルがあるC:\eclipse\workspaceの下にあります。

POM では、Maven 形式 (src/main/java など) でソースを整理するために、リンクされた/仮想フォルダーを作成するように指定しました。

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.9</version>
        <configuration>
          <linkedResources combine.children="append"> 
            <linkedResource>
              <name>src</name>
              <type>2</type>
              <locationURI>virtual:/virtual</locationURI> 
            </linkedResource>
            <linkedResource>
              <name>src/main</name>
              <type>2</type>
              <locationURI>virtual:/virtual</locationURI> 
            </linkedResource>
            <linkedResource>
              <name>src/main/java</name>
              <type>2</type>
              <locationURI>WORKSPACE_LOC/source/mymodule</locationURI>
            </linkedResource>
          </linkedResources>
          ...
        </plugin>

を実行してEclipse用のプロジェクトを作成すると、生成されmvn eclipse:clean eclipse:eclipse.projectファイルにはリンクされたフォルダー(または仮想フォルダー)があります。

<linkedResources>
    <link>
        <name>src</name>
        <type>2</type>
        <locationURI>virtual:/virtual</locationURI>
    </link>
    <link>
        <name>src/main</name>
        <type>2</type>
        <locationURI>virtual:/virtual</locationURI>
    </link>
    <link>
        <name>src/main/java</name>
        <type>2</type>
        <locationURI>WORKSPACE_LOC/source/mymodule</locationURI>
    </link>
</linkedResources>

しかし、.classpath生成されたファイルは、プロジェクトのソース フォルダーとしてこれらのフォルダーをクラスパスに追加しません。つまり、次のようなエントリがありません。

<classpathentry including="**/*.java" kind="src" path="src/main/java"/>

Eclipse を使用して (maven-eclipse-plugin を使用せずに) プロジェクトを作成する場合、必要に応じて仮想/リンク フォルダーを作成し、それらをソース フォルダーとしてプロジェクトに追加できます。

プラグインを使用すると、ソース フォルダーへの絶対パスを sourceDirectory として指定する必要があります。プラグインはリンクされた/仮想フォルダーを認識していないようで、プロジェクトにソース フォルダーとして追加されません。Maven Eclipse プラグインを使用して生成された Eclipse プロジェクトに、リンクされたフォルダーをソース フォルダーとして追加できる解決策はありますか?

前もって感謝します。

4

1 に答える 1

2

次のアプローチを試しましたか?

  1. ソース(既存のPOMファイルを含む)をにチェックアウトしますC:\source

  2. Eclipseをワークスペースに開きますC:\eclipse\workspace

  3. [ファイル]>[インポート...]>[Maven]>[既存のMavenプロジェクト]を選択します

  4. ファイルを含むディレクトリに移動し、pom.xmlインポートに進みます。

これは、ソースパスとワークスペースパスを完全に分離しておくプロジェクトで機能します。

于 2012-10-03T08:00:15.690 に答える