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=offBalaji 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