使用pom将Maven输出发送到控制台和日志文件

Zac*_*ack 11 eclipse pom.xml maven-3 maven eclipse-luna

问题:在Eclipse中运行Maven时,如何将控制台输出发送到文件?

我想使用pom设置或maven插件来实现这一点.我希望修改运行配置或maven的系统设置.

作为参考,我使用的是Windows 7,Eclipse Luna,Java 6,Maven 3.

A_D*_*teo 20

根据官方命令行选项,您可以使用-l,--log-file <arg>它们提供:

记录所有构建输出的日志文件.

因此,运行:

mvn clean install -l output.log
Run Code Online (Sandbox Code Playgroud)

不会向控制台打印任何内容并自动将整个构建输出重定向到output.log文件.

如果您不想每次都输入它(或者您实际上不想使用命令行)并且您希望它作为默认选项(尽管我认为很少见),您可以使用新的命令行选项行为从版本3.3.1开始,有一个.mvn文件夹,其中有相关pom.xml文件所在的文件夹中的文件maven.config只是提供以下行:

-l output.log
Run Code Online (Sandbox Code Playgroud)

也就是说,该.mvn/maven.config文件MAVEN_OPTIONS仅替换其项目,在本地创建它的地方,使用它提供的选项,而不是根据Maven设置影响其他构建MAVEN_OPTIONS.

这是一个IDE无关的解决方案(这是一个新的内置的Maven的功能)和当地的一个项目,但仍无法通过简单的POM编辑,这是无法实现的,因为第一阶段提供的Maven默认生命周期阶段validate,其中:

验证项目是否正确,并提供所有必要信息

也就是说,在构建期间,因此当构建已经开始(并生成输出)时,它会验证pom.xml文件,因此根据某些POM属性/插件在该阶段重定向构建输出为时已晚.


RIT*_*AVI 5

去跑步并选择Run Configuration -> Commons -> Select a file.
这应该将您的输出重定向到您指定的文件.