“mvn”명령을 자주 실행해야합니다.
mvn -f pom.xml clean install -Dmaven.test.skip=false --settings /Users/myhome/settings.xml -X -Djavax.net.ssl.trustStore=/Users/myhome/truststore.jks -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword=dummy -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -U
다른 다양한 도메인과 통합해야하므로 현재 SSL 핸드 셰이크 오류를 방지하기 위해 내 truststore.jks에 인증서를 추가해야 할 때마다.
SSL 오류를 무시하도록 mvn을 구성 할 수있는 방법이 있습니까?
답변
다음 명령 줄 매개 변수 중 하나 이상을 추가하여 SSL 인증서 검사를 비활성화 할 수 있습니다.
-Dmaven.wagon.http.ssl.insecure=true
-사용자 생성 인증서에 대해 완화 된 SSL 검사를 사용합니다.-Dmaven.wagon.http.ssl.allowall=true
-서버의 X.509 인증서를 호스트 이름과 일치시킬 수 있습니다. 비활성화하면 수표와 같은 브라우저가 사용됩니다.-Dmaven.wagon.http.ssl.ignore.validity.dates=true
-인증서 날짜 문제를 무시합니다.
공식 문서 : http://maven.apache.org/wagon/wagon-providers/wagon-http/
간편한 복사 및 붙여 넣기를위한 oneliner는 다음과 같습니다.
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
Ajay Gautam 은 ~/.mavenrc
명령 줄에서 매번 지정할 필요가 없으므로 위의 내용을 파일에 추가 할 수도 있다고 제안했습니다 .
$ cat ~/.mavenrc
MAVEN_OPTS="-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true"
답변
나를 위해 일한 대안은 settings.xml에 다음을 추가하여 Maven Central을 사용할 때 https : 대신 http :를 사용하도록 Maven에 지시하는 것입니다 .
<settings>
.
.
.
<mirrors>
<mirror>
<id>central-no-ssl</id>
<name>Central without ssl</name>
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
.
.
.
</settings>
귀하의 마일리지는 물론 다를 수 있습니다.
답변
폴더를 ${USER_HOME}/.mvn
만들고 그 안에라는 파일을 넣으 maven.config
십시오.
내용은 다음과 같아야합니다.
-Dmaven.wagon.http.ssl.insecure=true
-Dmaven.wagon.http.ssl.allowall=true
-Dmaven.wagon.http.ssl.ignore.validity.dates=true
도움이 되었기를 바랍니다.