HTTP Request Settings
조절안하면 존재하지 않는 파일에 대한 요청을 무한히 기다리는 현상이 발견됨.Request Timeout
: 3 초로 조정.Request Retry Attemps
: 3 회로 조정.Refresh
한다.Attempting to Proxy and Remote Unavailable
로 변한다.SNAPSHOT을 배포했는데, 아래처럼 buildNumber(아래에서는 2)와 실제 파일의 빌드넘버(아래에서는 1)로 안 맞는 경우가 발생했다.
<?xml version="1.0" encoding="UTF-8"?> <metadata modelVersion="1.1.0"> <groupId>some.group.id</groupId> <artifactId>some-artifact</artifactId> <version>0.0.1-SNAPSHOT</version> <versioning> <snapshot> <timestamp>20140208.121756</timestamp> <buildNumber>2</buildNumber> <!-- 이 부분. buildNumber = 2 --> </snapshot> <lastUpdated>20140208121803</lastUpdated> <snapshotVersions> <snapshotVersion> <classifier>javadoc</classifier> <extension>jar</extension> <value>0.0.1-20140208.121756-1</value> <!-- 실제로는 1 --> <updated>20140208121756</updated> </snapshotVersion> </snapshotVersions> </versioning> </metadata>
아때 Nexus 리포지토리에서 해당 아티팩트를 선택하고 Rebuild Metadata를 했더니 정상으로 변경되었다.
# maven-metadata.xml URL을 group/artifact 에 따라 달라짐 wget -O - -o /dev/null https://repo1.maven.org/maven2/org/brutusin/wava/maven-metadata.xml | grep -Po '(?<=<version>)([0-9\.]+(-SNAPSHOT)?)' | sort --version-sort -r| head -n 1 # 혹은 curl 로 curl -s https://repo1.maven.org/maven2/org/brutusin/wava/maven-metadata.xml | grep -Po '(?<=<version>)([0-9\.]+(-SNAPSHOT)?)' | sort --version-sort -r| head -n 1 last_version=$(wget -O - -o /dev/null http://nexus.myrepo/content/repositories/releases/myjar/maven-metadata.xml | grep -Po '(?<=<version>)([0-9\.]+(-SNAPSHOT)?)' | sort --version-sort -r| head -n 1) # snapshot 의 최신 빌드를 확인하려면 - last_version 을 안다고 했을 때 curl -s "https://repo1.maven.org/maven2/org/brutusin/wava/${last_version}-SNAPSHOT/maven-metadata.xml" | grep -Po '(?<=<value>)([0-9\.\-]+)' | sort --version-sort -r | head -n 1
# 서버 상태 http -a admin:admin123 -v "http://[서버]/service/local/status" # 최신버전. r=리포지토리ID, g=그룹명, a=아티팩트ID, e=jar|war 등. 잘 작동안함. http -a admin:admin123 "http://[서버]/service/local/artifact/maven/content?r=repoId&g=groupName&a=art&e=jar&v=LATEST" # 최신버전 curl 잘 작동안함 curl -u "admin:admin123 http://[서버]/service/local/artifact/maven/content?r=repoId&g=groupName&a=art&e=jar&v=LATEST" -o art.jar # 특정 버전 명시 curl : 특정버전 명시할 때는 잘 작동함. ## r=snapshots, v=1.0.1-SNAPSHOT 형태로 스냅샷을 지정하면 스냅샷도 잘 받아짐. curl -u "admin:admin123 http://[서버]/service/local/artifact/maven/content?r=repoId&g=groupName&a=art&e=jar&v=VERSION" -o art.jar