3

マルチモジュールmavenプロジェクト用にNetbeansワークスペースを構成して、CTRL + F5を押すと常にいくつかのモジュールを開始する方法を探しています(メインプロジェクトのデバッグ)。Maven プロジェクト内にあるため、このショートカットは、ソース ファイルが現在開いているプロジェクトを常に開始します。これは面倒です-デバッガーを開始するには、常に「メイン」モジュールからソースファイルに切り替えるか、プロジェクトエクスプローラー(巨大なサブツリー)でそのモジュールを見つけて右クリック->デバッグ(どちらも通常の無駄な時間の無駄です) )

同様の質問は、前回の単体テストの再実行に関するものです。これに対するショートカットが見つかりませんが、2010 年 8 月以降、関連するバグ レポートが対処されていないことがわかります: http://netbeans.org/bugzilla/show_bug.cgi?id=189113 .

4

1 に答える 1

0

次のように nbactions.xml で指定されたアクションを配置する必要があります。

<action>
    <actionName>debug</actionName>
    <packagings>
        <packaging>jar</packaging>
    </packagings>
    <goals>  
        <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal>
    </goals>
    <properties>
        <jpda.listen>maven</jpda.listen> 
        <exec.args>-classpath %classpath com.domain.package.Main start</exec.args>
        <exec.executable>java</exec.executable>
        <exec.workingdir>./content</exec.workingdir>
    </properties>
</action> 

したがって、プロジェクトのモジュールでメインファイルを実行します。

依存プロジェクトのメイン Java ファイルを実行する場合は、次のプラグイン エントリを含める必要があります。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId> 
            <executions>  
                <execution>
                    <id>copy-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/dependency-jars/</outputDirectory>
                    </configuration>
                </execution>
        </plugin>

これにより、maven プロジェクトは、パッケージ化段階で必要なすべての依存関係をターゲットにコピーできます。次に、この他のプラグイン エントリを使用して、必要な Main クラスをアクセス可能にします。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.domain.package.Main</mainClass>
                        <classpathPrefix>dependency-jars/</classpathPrefix>
                    </manifest>
                </archive>
            </configuration>
        </plugin>

依存関係の jar があるフォルダーを変更したり、親 maven プロジェクトの pom.xml のプロパティにすることもできます。

于 2015-04-28T16:25:24.320 に答える