狠狠撸

狠狠撸Share a Scribd company logo
惭补惫别苍あるある
誰?
? 開発環境の構築?運用
? JenkinsとかMaven repoとかDeploy toolとか
? @hdkshjm
今日の結論
? 外部repository側が起因の問題は、対応しづらい
? Maven3使いましょう(Maven2は。。。)
? /.m2/repository を定期的に削除しましょう
? Maven repo用Cache&Reverse proxyしてくれる?
Nexus(Not Android)オススメ
redirect
? 最近、http -> https にredirectするMaven repoふえた
? Maven2 だと、redirectに対応していない(htmlを保存してくれる)?
?
?
? pom.xmlやsettings.xmlのrepository url 変更 or Maven3 使えば解決
$ cat /.m2/repository/xxxx/0.1/yyy-0.1.pom
<html><head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body></html>
Maven(JDK)が証明書を信頼しない
? Chromeとかのbrowserだと問題ないけど、JDKが、、、
?
?
?
PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to ?nd valid
certi?cation path to requested target
Maven(JDK)が証明書を信頼しない
? Local Machineと各CI Serverの各JDKのkeystoreに入
れるのは、面倒。。。。?
? Nexus のようなMaven repo用Cache&Reverse proxy
を社内に用意するほうが楽
$ openssl s_client -showcerts -connect service.teklabs.com:443 </dev/null 2>/
dev/null?openssl x509 -outform DER > teklabs.cer
$ ${JAVA_HOME}/bin/keytool -import -trustcacerts -?le teklabs.cer -keystore $
{JAVA_HOME}/jre/lib/security/cacerts -alias teklabs -storepass changeit
Maven repoが落ちた/消えた/引越
? 消えるのは運命。お金の問題とかで。。。
? 他がArtifactsだけ引き継いでくれることもある?
http://www.codehaus.org/mechanics/maven/
? Nexus のようなMaven repo用Cache&Reverse proxy
を社内に用意するほうが楽(その2)
ArtifactでCHECKSUM FAILED
? 外部repoで、Release versionをRedeployしている可能性
がある
? 例:repoの引っ越ししてURL変わったので、pom.xmlの
repository url変更された
? 例:jar内の一部classのみ更新されている、buildしたJDKの
versionが変更されてる?
ArtifactでCHECKSUM FAILED
? JenkinsとかLocal PCで、 /.m2/repository を定期的に
削除することをオススメ
? Nexus によるReverse proxyだと、jar/pom自体はcache
してくれるけど、定期的にproxy先のsha1/md5との齟齬
があるかチェックしてしまうので、解決できない。。
Maven repoからArtifactを取得しない
? 以前にDownload失敗して、Maven 3が、.lastUpdatedファ
イルをローカルに作成してる
? http://stackover?ow.com/questions/16767311/
maven-dependencies-in-local-repo-have-lastupdated-
extension
? .lastUpdatedがあるArtifactsは、取得してくれない?
(詳しい仕様は、調べてないです。すみません)
Maven repoからArtifactを取得しない
? JenkinsとかLocal PCで、 /.m2/repository を定期的に
削除することをオススメ
? もしくはMavenで -U optionで、強制的にrepoから
Artifactsをdownloadさせる

More Related Content

Maven tips