java - 如何在使用 Maven 构建期间读取来自 system.out.println 的警告

标签 java maven maven-antrun-plugin

我正在使用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

最佳答案

如果你使用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>

关于java - 如何在使用 Maven 构建期间读取来自 system.out.println 的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22177599/

相关文章:

java - 如何使用与 Linux、Mac 和 Windows 兼容的 Java (JavaFX) 计算用户编写的设置文件的文件路径?

java - 给定实例的对象层次结构中所有类的完全限定名称

eclipse : An error occurred while filtering resources

java - Maven:在生命周期之外构建任务(更新/复制文件等)?

java - Mac OSX 上 Java 10 辅助启动器的替代方案是什么?

maven - 如果 Maven 中不存在,如何创建文件夹?

java - 计算与二维多边形相交的线段的长度

java - JUnit 测试 - 断言逻辑

Eclipse 在调试 View 中不显示 Maven 依赖项的源代码

java - Eclipse:如何在应用程序库中搜索字符串?