質問

単にJavaクラスのmainメソッドを実行するためのMavenの「相」または「目標は」ありますか?私は単に「MVNの実行」のような何かを行うことによって、手動でテストしたいプロジェクトを持っています。

役に立ちましたか?

解決

execのMavenプラグインをrel="noreferrer"> href="http://www.mojohaus.org/exec-maven-plugin/"

mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...

プラグインの設定は、あなたのpom.xmlにある場合、呼び出しはmvn exec:javaような単純なことができます。 Mojohaus上のプラグインサイトでは、より詳細なrel="noreferrer"> href="http://www.mojohaus.org/exec-maven-plugin/examples/example-exec-using-plugin-dependencies.html" でます。

<project>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <mainClass>com.example.Main</mainClass>
                    <arguments>
                        <argument>argument1</argument>
                    </arguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

他のヒント

上記の答えは正しいですが、私はプロジェクトのPOMファイルにme.Goのような初心者のためにそれを簡素化しています。新しいプロパティexec.mainClassを追加し、mainメソッドを含むクラスとしての価値を与えます。私にとって、それはDriverClassmainpkgました。プロジェクトごとに、それを変更します。 loading="lazy"

"ここに画像の説明を入力します"

プロジェクトのpom.xmlが含まれており、コマンドプロンプトmvn exec:javaでこれを実行したフォルダに、このナビゲートをしました。これは、mainメソッドを呼び出す必要があります。

1。編集のpom.xml

pom.xmlで次のプロパティを追加します。あなたはmainメソッドが含まれている(すなわち、パッケージ名を含む)完全修飾クラス名を使用していることを確認します:

<properties>
        <exec.mainClass>${fully-qualified-class-name}</exec.mainClass>
</properties>

2。ファイル名を指定して実行コマンド

さて端末から、次のコマンドをトリガします:

mvn clean compile exec:java

あなたは-Dexec.args="xxx"フラグを経て、さらに引数を渡すことができます。

clean package exec:java -P Class_Containing_Main_Methodコマンドを使用すると、次のMavenのセットアップで、プロジェクト内の唯一の主な方法(PSVM)を持っている場合もオプションです。

<properties></properties>pom.xmlセクションでクラスを言及するのを忘れないでください。

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.main.class>com.test.service.MainTester</java.main.class>
</properties>

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <configuration>
           <mainClass>${java.main.class}</mainClass>
        </configuration>
</plugin>

STS の実行構成に沿ってとMavenのセットアップ上記ます:

" ここに画像の説明を入力する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top