0

maven-ant-run プラグインを使用して、maven を介して jar バッチを実行しています。うまく動作します。必要なのは、maven ビルド レポートで system.out.println 文字列を読み取れるようにすることです。

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <phase>clean</phase>
                        <configuration>
                            <target>
                                <echo>
                                    Language synchronization is being started
                                </echo>
                                <exec executable="cmd.exe"
                                      spawn="true">
                                    <arg value="/c"/>
                                    <arg value="${languagesynch.path}"/>
                                    <arg value="C:\ContinuousIntegration\res" /> <!--copy from-->
                                    <arg value="${project.basedir}\res" /> <!--to this directory-->


                                </exec>
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

実行中のタスクと実行済みのタスクのみが表示されます。

[INFO] --- maven-antrun-plugin:1.6:run (default) ---
[INFO] Executing tasks

main:
     [echo] Language synchronization is being started through D:\Projects\MavenI
nHerd\LanguageSynch\out\artifacts\LanguageSynch_jar\LanguageSynch.jar
[INFO] Executed tasks
4

1 に答える 1

1

spawn="true" を使用する場合、これは不可能です。spawn を false (デフォルト) に設定すると、機能します。

アップデート:

使用してみてください:

<java fork="true" 
      jar="${languagesynch.path}/dist/test.jar">
    <arg value="C:\ContinuousIntegration\res" /> <!--copy from-->
    <arg value="${project.basedir}\res" /> <!--to this directory-->
</java>

または、何らかの理由で exec を使用する必要がある場合:

<exec executable="cmd.exe" spawn="false">
    <arg value="/c"/>
    <arg value="java"/>
    <arg value="-jar"/>
    <arg value="${languagesynch.path}"/>
    <arg value="C:\ContinuousIntegration\res" /> <!--copy from-->
    <arg value="${project.basedir}\res" /> <!--to this directory-->
</exec>
于 2014-03-04T16:57:05.363 に答える