2016-04-05 3 views
3

Добрый день,Maven Args командной строки в settings.xml

Я пытаюсь выяснить, есть ли возможность на аутсорсинг командной строки Args в settings.xml.

Я не могу использовать MAVEN_OPTS Env-Var и файл .mavenrc, но мне нужны настройки в каждом проекте. Важно, чтобы никакие плагины не использовались, которые не были включены после установки (настройки необходимы для подключения к репозиторию).

Настройки:

-Djavax.net.ssl.trustStore=VALUE 
-Djavax.net.ssl.trustStorePassword=VALUE 
-Djavax.net.ssl.keyStore=VALUE 
-Djavax.net.ssl.keyStorePassword=VALUE 
-Djavax.net.ssl.keyStoreType=VALUE 
-Dmaven.wagon.http.ssl.insecure=VALUE 
-Dmaven.wagon.http.ssl.allowall=VALUE 
-Dmaven.wagon.http.ssl.ignore.validity.dates=VALUE 

Я надеюсь, что я не упускать из виду Somthing очевидно ... Спасибо заранее, LocXar

EDIT-1: Maven Версия: Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)

Edit- 2: Я пробовал это так, но это не работает: <javax.net.ssl.trustStore>VALUE</javax.net.ssl.trustStore>

+1

Afaik settings.xml не имеет никакого отношения к фактическому запуску каких-либо заданий maven, просто настройка среды maven ... – f1sh

+0

Какую версию Maven вы используете? – khmarbaise

+0

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17: 41: 47 + 01: 00) – LocXar

ответ

4

Лучше всего это использовать ${maven.projectBasedir}/.mvn/maven.config, если вы хотите использовать специальные конфигурации элементов для самого Maven (например: -T3 ..). Кроме того, вы можете использовать вещи для виртуальной машины Java через ${maven.projectBasedir}/.mvn/jvm.config, что означает в вашем случае вы должны использовать jvm.config со следующим содержанием:

-Djavax.net.ssl.trustStore=VALUE 
-Djavax.net.ssl.trustStorePassword=VALUE 
-Djavax.net.ssl.keyStore=VALUE 
-Djavax.net.ssl.keyStorePassword=VALUE 
-Djavax.net.ssl.keyStoreType=VALUE 
-Dmaven.wagon.http.ssl.insecure=VALUE 
-Dmaven.wagon.http.ssl.allowall=VALUE 
-Dmaven.wagon.http.ssl.ignore.validity.dates=VALUE 

Таким образом, вы можете положить, что в вашем проекте и проверить в этом в рамках вашего проекта. Таким образом, это делает .mavenrc и MAVEN_OPTS излишним. Это задокументировано в Release Notes for Maven 3.3.1.

Но я должен сказать, что вам нравится устанавливать вышеуказанные системные свойства. Я получил впечатление, что вы хотели бы игнорировать сертификаты в https-соединении, что не имеет смысла.

+0

Спасибо за ваши заботы, но последние 3 свойства предназначены только для тестирования. Ваш ответ действительно хорош! Есть ли возможность установить свойства для всех проектов? – LocXar

+0

Если эти последние только для тестирования, вы должны настроить maven-surefire-plugin соответственно .... Если вы не хотите, чтобы они для всех проектов использовали «MAVEN_OPTS» ..... – khmarbaise

+0

Спасибо за быстрый и точный ответ , – LocXar