По 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, которая не может быть достигнута, так как первая фаза Maven default life cycle phases является validate
, который :
проверить проект правильно и вся необходимая информация доступна
то есть, во время сборки, поэтому, когда сборка уже начал (и генерируется выходной сигнал), он проверяет pom.xml
, поэтому слишком поздно перенаправить вывод сборки на этом этапе на основе некоторых свойств/плагина POM.
Вы не можете сделать это, ответы у вас есть единственный путь. Как Maven сможет написать файл, прежде чем он прочитает POM? Рассмотрим также многомодульный проект, где эта конфигурация будет только в модуле. – Tunaki
Попробуйте использовать АОП. Удалось перенаправить журналы в файл, применив обрезку по умолчанию org.apache.maven.plugin.logging.Log. Но слишком много усилий ни для чего. Дать ему шанс. – user1615664