maven - aleksei-khitev/knowledge_base GitHub Wiki
В папке bin
есть лаунчеры mvnDebug
для Windows и Linux/UNIX
...\apache-maven-3.6.3\bin> tree /f
m2.conf
mvn
mvn.cmd
mvnDebug
mvnDebug.cmd
mvnyjp
Они содержат аргументы debug, позволяющие подключать IDE для удаленного debug-а
К примеру, cmd
файл выглядит так
@setlocal
@set MAVEN_DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@call "%~dp0"mvn.cmd %*
Balaji Varanasi. Introducing Maven. A Build Tool for Today's Java Developers. Second Edition. page 12
В папке apache-maven-3.6.3\conf\logging
есть файл simplelogger.properties
, в котором можно задать параметры логирования.
К примеру, defaultLogLevel
поменять на debug
или в logFile
заменть System.out
на какой то файл
По умолчанию, конфиг выглядет так
org.slf4j.simpleLogger.defaultLogLevel=info
org.slf4j.simpleLogger.showDateTime=false
org.slf4j.simpleLogger.showThreadName=false
org.slf4j.simpleLogger.showLogName=false
org.slf4j.simpleLogger.logFile=System.out
org.slf4j.simpleLogger.cacheOutputStream=true
org.slf4j.simpleLogger.levelInBrackets=true
org.slf4j.simpleLogger.log.Sisu=info
org.slf4j.simpleLogger.warnLevelString=WARNING
org.slf4j.simpleLogger.log.org.apache.maven.wagon.providers.http.httpclient=off
org.slf4j.simpleLogger.log.org.apache.maven.wagon.providers.http.httpclient.wire=off
Balaji Varanasi. Introducing Maven. A Build Tool for Today's Java Developers. Second Edition. page 13
Чтоб задать JVM параметры (память, к примеру), можно задать переменную среды MAVEN_OPTS
Balaji Varanasi. Introducing Maven. A Build Tool for Today's Java Developers. Second Edition. page 14
Скелет settings.xml
выглядет так
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository/>
<interactiveMode/>
<offline/>
<pluginGroups/>
<servers/>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>
Элемент | Описание |
---|---|
localRepository | можно изменить путь к репозторию (по умолчанию ~/.m2/repository ) |
interactiveMode | Задает, будет ли интерактивность с пользователем? По умолчанию true
|
offline | Подключаться к сети или нет. По умолчанию false
|
servers | Можно определить креды и другие данные серверов git, build, repo |
mirrors | Можно задать альтернативные расположения репозиториев для загрузки зависимостей |
proxies | Можно задать данные для подключения к Интернету |
Balaji Varanasi. Introducing Maven. A Build Tool for Today's Java Developers. Second Edition. page 17-18
> mvn -emp somepassword
{svHfHS5kBZIHlQJLk4LURBvMZiN87hO2UAgjM1TcrwE=}
Полученный зашифрованный пароль нужно положить в settings-security.xml
в каталоге .m2
(если его нет, то создать его)
<settingsSecurity>
<master>{svHfHS5kBZIHlQJLk4LURBvMZiN87hO2UAgjM1TcrwE=}</master>
</settingsSecurity>
Если этого не сделать, шифрование паролей упадет с ошибкой
[ERROR] Error executing Maven.
[ERROR] java.io.FileNotFoundException: C:\Users\Aleksei_Khitev\.m2\settings-security.xml (The system cannot find the file specified)
[ERROR] Caused by: C:\Users\Aleksei_Khitev\.m2\settings-security.xml (The system cannot find the file specified)
> mvn -ep someconnectionpassword
{0+ujuJpz2wAHs3VOyyKr0/RGOlWpnjtp+hqm4L3uS5BPEUMKh/L9DSmPIbZJ3Ty2}
Полученный шифрованный пароль можно вставлять в settings.xml
вместо пароля
Balaji Varanasi. Introducing Maven. A Build Tool for Today's Java Developers. Second Edition. page 20