问题:在Eclipse中运行Maven时,如何将控制台输出发送到文件?
我想使用pom设置或maven插件实现此目的。我不想要修改运行配置或maven系统设置。
供参考,我使用的是Windows 7,Eclipse Luna,Java 6,Maven 3。
答案 0 :(得分:17)
根据official command line options,您可以使用-l,--log-file <arg>
来提供:
记录所有构建输出的文件。
因此,运行:
mvn clean install -l output.log
不会向控制台打印任何内容并自动将整个构建输出重定向到output.log
文件。
如果您不想每次都输入它(或者您实际上不想使用命令行)并且您希望它作为默认选项(尽管我认为很少见),您可以使用自版本3.3.1以来可用的新命令行选项行为,并且有一个.mvn
文件夹,其中有相关的pom.xml
文件位于其中,maven.config
文件只提供以下行:
-l output.log
也就是说,.mvn/maven.config
文件仅为其项目替换MAVEN_OPTIONS
,本地已创建它,并提供其提供的选项,而不会影响其他版本。 Maven设置MAVEN_OPTIONS
。
这是一个IDE无关的解决方案(它是Maven的一个新的内置功能)并且是项目的本地化,但仍然没有通过简单的POM编辑提供,这是{{3的第一阶段以来无法实现的是} validate
,其中:
验证项目是否正确并且所有必要信息都可用
也就是说,在构建期间,因此当构建已经开始(和生成的输出)时,它会验证pom.xml
文件,因此在该阶段重定向构建输出为时已晚基于一些POM属性/插件。
答案 1 :(得分:5)
转到运行方式,然后选择Run Configuration -> Commons -> Select a file
这应该将您的输出重定向到您指定的文件。
答案 2 :(得分:4)
根据this,您可以尝试修改${MAVEN_HOME}/conf/logging/simplelogger.properties
。我快速尝试了一下,maven的输出被重定向,但写入stdout
的任何其他内容(例如测试)仍在控制台上写入
答案 3 :(得分:2)
如何创建M2E分支并修改它以从pom.xml读取启动配置的输出文件
答案 4 :(得分:0)
可能的解决方案是在mvn file
中设置输出格式。例如,在目录/usr/bin
中,添加所需的输出,通知日志将在exec "$JAVACMD" \
行末尾保存的路径: | tee /home/maven-log.log。
但是,它仅在终端线调用maven时有效;当被IDE调用时,比如eclipse,这个解决方案不起作用。