49

私はEclipse 3.3.2でmaven 2.0.9を使用しています。

私は、新しいビルドを 1 日 1 回、mvn clean install. 次に、Eclipse プロジェクトを更新すると、Maven のターゲットディレクトリのファイルによって「汚染」されます。

検索を実行したり、「リソースを開く」などでリソースを取得したりするときに、これは非常に面倒です。

Eclipse がこのフォルダーを参照しないようにする方法はありますか?

4

12 に答える 12

58

無視するフォルダを右クリックし、[プロパティ]ダイアログを開き、[リソース]タブを選択して、[派生]チェックボックスをオンにします。

于 2008-11-13T01:20:45.160 に答える
25

ターゲットディレクトリを削除しないように、Mavenで「clean」を再構成します。

<plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <configuration>
        <excludeDefaultDirectories>true</excludeDefaultDirectories>
        <filesets>
            <!-- delete directories that will be generated when you 
                 start the develpment server/client in eclipse  
            -->
            <fileset>
                <directory>target</directory>
                <includes>
                    <include>**/*</include>
                </includes>
            </fileset>
        </filesets>
    </configuration>
</plugin>

http://maven.40175.n5.nabble.com/how-to-NOT-delete-target-dir-td3389739.html#a3413930にあります)

于 2011-04-04T13:35:13.683 に答える
18

インディゴの解決策 [SR2]

Project Explorer> Customize View> Filters>[*] Maven Build Folder

于 2013-04-26T16:32:40.393 に答える
10

私はこの問題にとても腹を立てているので、それを解決するためのプラグインを書きました。ソースとjarは次の場所から取得します。

https://github.com/YA2O/Eclipse_Plugin_Target_Derivator

于 2012-01-23T13:35:25.970 に答える
4

ここでこの問題を解決するために、私がしたことは次のとおりです。

  • Groovy Monkey for Eclipse のインストール
  • Bean シェル スクリプト「UpdateMavenDerived_Beanshell.gm」を作成して、target という名前のディレクトリを派生としてマークしました。
  • -----------スクリプト用に以下をカット--------------

    /*
     * Menu: Find System Prints > Beanshell
     * Script-Path: /GroovyMonkeyScripts/monkey/UpdateMavenDerived_Beanshell.gm
     * Kudos: Bjorn Freeman-Benson & Ward Cunningham & James E. Ervin
     * License: EPL 1.0
     * LANG: Beanshell
     * DOM: http://groovy-monkey.sourceforge.net/update/plugins/net.sf.groovyMonkey.dom
     */
    out.println("Setting target directories to derived status.");
    var projects = workspace.getRoot().getProjects();
    for ( var i = 0; i < projects.length; i++) {
        var project = projects[i];
        if (project.isOpen()) {
            out.println("Project: " + project.getName());
            var members = project.members();
            for ( var j = 0; j < members.length; j++) {
                if (members[j].getName().equals("target")) {
                    out.println("setting derived status on: "+ members[j].getFullPath());
                    members[j].setDerived(true);
                }
            }
        }
    }
    
    于 2011-06-15T15:12:44.883 に答える
    3

    設定>チーム>無視されたリソース

    「ターゲット」を追加し、Eclipseを再起動します。

    于 2009-05-01T15:42:42.937 に答える
    3

    (プロジェクト エクスプローラーの右上の矢印を使用して) [Java Element Filters] オプション ダイアログ ボックスを構成しようとしましたか?

    必要に応じて、独自のViewerFilterを定義できます

    于 2008-11-12T12:25:14.117 に答える
    2

    Maven プラグインは、ターゲット ディレクトリを隠しません。ただし、Maven ターゲット フォルダーを使用して Eclipse を構成します。したがって、ターゲット/クラスとターゲット/テスト クラスは Eclipse によって使用され、Eclipse はこれらのフォルダーを除外します。これは、「mvn eclipse:eclipse」と m2eclipse プラグインによって行われます。これらの 2 つのフォルダー (たとえば、生成された jar ファイル) 以外のターゲット ディレクトリ内のすべてが表示されたままになります。

    パッケージエクスプローラー用のフィルターを作成できますが、それは「開いているリソース」には影響しません。

    于 2008-11-12T12:20:26.920 に答える
    2

    ここでのいくつかのソリューションは一部のビューでしか機能しないため、いくつかの問題があったため、図解による要約を作成しました。

    Eclipse 4.4 (Luna) でテストされ、3.7 以降の他の回答によると、このように動作するはずです。

    パッケージ エクスプローラー

    Package Explorer View MenuFilters...→ チェックName filter patternsして入力しますtarget

    targetこれにより、デフォルトのmavenビルドディレクトリだけでなく、という名前のすべてのフォルダーとファイルが非表示になることに注意してください! Project Explorerビューには、この問題のないより良いオプションがあります。

    パッケージ エクスプローラー メニュー パッケージ エクスプローラー ダイアログ

    プロジェクト エクスプローラー

    Project Explorer View Menu → Custom View...→ 「maven」で検索して確認してくださいMaven build folder

    このオプションをオンにすると、プロジェクトの pom.xml 構成で定義されているビルド ディレクトリが非表示になります。

    プロジェクト エクスプローラー メニュー プロジェクト エクスプローラ ダイアログ

    于 2015-03-26T03:19:13.873 に答える
    1

    Eclipse 用の Maven プラグインを使用していますか?

    私はそれがあなたの「汚染」の一部を隠すと想像します.

    また、Eclipse 内でビルドを実行することもできます。つまり、同時にプロジェクト ビューが更新されます。

    Maven 2 エクリプス

    于 2008-11-12T11:23:49.857 に答える
    1

    「mvn clean install」を頻繁に使用する場合、リソース フィルターを使用すると問題が解決するように見えます。

    基本的に、「ターゲット」とサブフォルダーを追加して、フォルダーを.projectファイルに直接除外します。このスクリプトを実行した後、プロジェクトを Eclipse にインポートすると、'Project'->'Properties'->'Resource'->'Resource Filters' の設定が表示されます。これ以前は、mvn clean install を実行するたびに eclipse が CPU の 50% を使用していましたが、プロジェクトのビルド中は 5% 未満のままです。


    function eclipse-setup() {
         mvn eclipse:clean
         mvn eclipse:eclipse
         #maven target folders
         find . -name .project -exec sed -i.MSORG 's/<\/projectDescription>/<filteredResources> <filter> <id>1314376338264<\/id> <name><\/name> <type>26
    <\/type> <matcher> <id>org.eclipse.ui.ide.multiFilter<\/id> <arguments>1.0-name-matches-false-false-target<\/arguments> <\/matcher> <\/filter> <filt
    er> <id>1314387234341<\/id> <name><\/name> <type>6<\/type> <matcher> <id>org.eclipse.ui.ide.multiFilter<\/id> <arguments>1.0-name-matches-false-fals
    e-*.cache.html<\/arguments> <\/matcher> <\/filter> <\/filteredResources><\/projectDescription>/' {} \;
    
    }
    
    于 2011-08-26T20:06:52.403 に答える
    0

    Eclipseがフリーズすると、プロセスアクティビティを確認すると、すべてのターゲット、.hg、および.gitディレクトリを参照していることがわかります。さらに、これらのディレクトリもEclipseのbinディレクトリにコピーされます。多くのCPUとディスクの使用量は無料です。

    ターゲットディレクトリをクリーンアップしないことは、許容できる解決策ではありません。

    モンキースクリプト(http://maven.40175.n5.nabble.com/Eclipse-amp-target-directory-td72354.html)を使用した解決策がありましたが、プロジェクトは終了しました。

    私はまだEclipseにMavenターゲットディレクトリと.hgおよび.gitディレクトリを無視するように指示する解決策を探しています。

    Eclipseがそれらを継続的に監視するのは苦痛です。

    私もm2eclipseを使用していますが、その問題は解決しません。

    于 2011-05-11T13:34:33.257 に答える