Artifactory Pro 버전 3.6.0을 사용하고 있습니다. 나는 다른 원격 repos (https://repo1.maven.org/maven2/..처럼)에 프록시를 구성한 원격 저장소 (캐시)를 가지고있다. 또한 모든 원격 저장소를 포함하는 가상 저장소가 구성되어있다. (예 : http://mydomain/artifactory/remote-repos/..)Artifactory virtual repo : 일부 파일을 다운로드 할 수 없습니다 (클라이언트에 0 바이트가 보내지 만 예상되는 XYZ 바이트)
Artifactory 서버를 다시 시작한 후 일부 Maven 플러그인 관련 POM 파일 (종속성)을 Artifactory에서 다운로드하거나 가져올 수 없기 때문에 일부 Maven 빌드가 실패하기 시작했음을 알게되었습니다.
파일을 가상 저장소 URL을 통해 다운로드 할 수 없지만 원격 저장소 URL을 통해 다운로드 할 수 있다는 사실을 확인했습니다.
예를 들어:
- 원격 REPO 직접 URL을 사용하여 (일) : http://mydomain/artifactory/받는다는 - 아파치 캐시를 /org/apache/maven/maven-parent/26/maven-parent-26.pom
- 가상의 repo URL을 (가공하지 않은) 사용 : http://mydomain/artifactory/원격의 repos /org/apache/maven/maven-parent/26/maven-parent-26.pom
(그냥 몇 가지 1 2 maven plu 진 관련 POM 파일을 다운로드 할 수 없습니다. . 괜찮 다운로드 한 파일의 나머지)
는 나는 그것이 Settings.XML의 파일 (미러링 중앙 캐시)
내가 다른 조사를 많이 했어요 구성하는 방법이기 때문에 가상의 repo URL을 사용해야합니다 :
- Artifactory 프록시 캐시와 모든 빌드 서버 maven 캐시를 삭제했습니다. 다음은 ... 다시 캐시에
는 Artifactory 로그 (모두 정보 및 디버그 수준)
바라보며 파일을 강제
[DEBUG] (osjdDataSourceUtils : 110) - 데이터 소스
에서 가져 오기 JDBC 연결[DEBUG] (oasduJdbcHelper : 98) - 쿼리가 521032 나노에서 반환되었습니다. 'SELECT * FROM nodes where repo ='remote-repos 'AND node_path ='org/apache/maven/maven-parent/26 'AND node_name = 'maven-parent-26.pom' '
[DEBUG] (osjdD (admin) - 원격 접속 : org/apache/maven/maven-parent/26/maven-parent-26.pom (12) 요청 된 리소스를 파일로 확인했습니다.
[DEBUG] (oarRepoRequestContext : 71) - 8b83e9a2 get admin remote-repos : org/apache/maven/maven-parent/26/maven-parent-26.pom 요청한 리소스는 다음과 같습니다. 일반 유물 - '40751'
[DEBUG] (osbfsDefaultListableBeanFactory : 523) 길이가 일반적인 콘텐츠 핸들을 사용 - 싱글 톤 빈의 캐시 된 인스턴스를 반환 'pluginsAddonDefaultImpl'
[DEBUG] (o.s.b.f.s.DefaultListableBeanFactory : 523) - 싱글 톤 Bean의 캐시 된 인스턴스 'org.artifactory.addon을 반환하는 중입니다.plugin.PluginsAddonImpl # 0 '
[DEBUG (oarRepoRequestContext : 71) - 관리 원격 REPOS 얻을 8b83e9a2 : 모든 BeforeDownload 사용자 실행 조직/아파치/받는다는/받는다는 부모/26/받는다는 부모 - 26.pom을 존재할 수있는 플러그인
[DEBUG (oarRepoRequestContext : 71) - : 조직/아파치/받는다는/받는다는 부모/26/받는다는 부모 - 26.pom는
처리 선택한 컨텐츠와 응답 관리 원격 REPOS 얻을 8b83e9a2[DEBUG] (oarRequestResponseHelper : 71) - 'remote-repos : org/apache/maven/maven-parent/26/maven-parent-26.pom'에 대한 바디 응답을 보냅니다. 원래 자원 크기 : 40751, 실제 크기 : 40751.
[WARN] (o.a.r.ArtifactoryResponseBase : 57) - 0 바이트는 클라이언트로 보내지 만 예상되는 40751 바이트입니다.
[DEBUG (oarRepoRequestContext : 71) - 관리 원격 REPOS 얻을 8b83e9a2 : 조직/아파치/받는다는/받는다는 부모/26/받는다는 부모 - 26.pom 요청이 성공
...
Artifactory에 파일이 있는지 확인 : 존재하고 원격 repo URL (가상 저장소 URL 아님)을 사용하여 다운로드 할 수 있습니다. 위 참조.
- 는 (아무 문제를 다시 시작) 번 이상의 Artifactory 몇 가지 새로운 Artifactory 가상의 repo를 만든
- 를 다시 시작 시도하고 새로운 URL을 사용하기 시작하지만, 같은 일이 이전
누구보다 일이 가상 repo URL을 사용하여 Artifactory에서 일부 파일 (예 : maven-parent-26.pom)을 다운로드 할 수없는 이유는 무엇입니까?
감사합니다.
또한 Maven Central 이외의 다른 저장소를 사용해보십시오. JCenter에서도 같은 일이 발생합니까? – JBaruch
가상 repo 포함 패턴이 설정됩니다 : **/*; exclude 패턴은 아무것도 비워 두지 않으므로 아무것도 필터링하지 않습니다. 그러나 실제로 나는 오늘 파일을 다운로드하려고했는데 (전에는 다운로드 할 수 없었습니다) 문제가 없었습니다. 너무 이상해. 어쩌면 artifactory가 주말에 문제를 해결 한 내부 인덱싱/정리 작업을했을 수도 있습니다. 전혀 모르겠군요 : –
@JBaruch 다른 모든 repo 유형 (pypi, npm, ...)이 올바르게 작동하고있었습니다. 내가 가진 유일한 문제는 maven 유형의 repos에서 파일 몇 개 (2-3)입니다. –