에 존재하는 가공소재를 찾을 수 없습니다.창고
10623 단어 leiningen
묘사
나는 이미 로컬 캐시를 했다.m2 환매 도서관lib
.이것lib
은 모든 공공 저장소에서 접근할 수 없지만 우리 회사의 넥서스에서만 접근할 수 있습니다. 넥서스는 중앙 환매의 거울입니다.나는 이 회사의 넥서스를 집에서 방문할 수 없다. 비록 maven
프로젝트가 lib
에 의존하지만, 나는 발행할 수 있다 mvn clean install
아무 문제 없어요.불행히도, Leiningen은 이 라이브러리를 찾을 수 없습니다.lein deps
Could not find artifact com.acme:lib:jar:1.5.2 in central (http://repo1.maven.org/maven2/)
Could not find artifact com.acme:lib:jar:1.5.2 in clojars (https://clojars.org/repo/)
This could be due to a typo in :dependencies or network issues.
If you are behind a proxy, try setting the 'http_proxy' environment variable.
내 프로젝트야.clj(defproject remote-clontrol "0.1.0-SNAPSHOT"
:description "microservice for making bookings"
:min-lein-version "2.0.0"
:dependencies [[org.clojure/clojure "1.6.0"]
[com.acme/lib "1.5.2"]
[net.logstash.logback/logstash-logback-encoder "3.6"]]
:plugins [[lein-ring "0.9.1"]]
:ring {:handler remote-clontrol.core.handler/app
:init remote-clontrol.core.handler/init}
{:dev {:dependencies [[javax.servlet/servlet-api "2.5"]
[ring-mock "0.1.5"]]}})
로컬 재구매 계약입니다.➜ lib pwd
/home/user/.m2/repository/com/acme/lib
➜ lib ls -l 1.5.2
razem 88
-rw-r--r-- 1 user user 37188 lut 21 10:38 lib-1.5.2.jar
-rw-r--r-- 1 user user 40 gru 1 13:07 lib-1.5.2.jar.sha1
-rw-r--r-- 1 user user 4675 lut 21 10:37 lib-1.5.2.pom
-rw-r--r-- 1 user user 40 gru 1 13:07 lib-1.5.2.pom.sha1
-rw-r--r-- 1 user user 16435 gru 1 13:07 lib-1.5.2-sources.jar
-rw-r--r-- 1 user user 40 gru 1 13:07 lib-1.5.2-sources.jar.sha1
-rw-r--r-- 1 user user 194 gru 1 13:07 _maven.repositories
-rw-r--r-- 1 user user 177 lut 21 10:38 _remote.repositories
시간적 차이는 내가 mvn install
와 lib
를 통해 이 문제를 해결하려고 시도했기 때문이다.나도 해봤어mvn deploy:deploy-file
, 찾았어here.개인 정보에 다음을 추가하려고 합니다.{:user
{:local-repo "../../../.m2/repository"
:checksum :ignore}}
내가 뭘 잘못했지?토론 #1
저는 IRC를 정리하기 위해 렌 2.5.1토론 #2
을 실행했습니다. 복제하기 어려울 것 같습니다. (저는 4-5개의 마벤트 라이브러리를 시도했습니다.)pom과 관련이 있을 수 있습니다.토론 #셋
나는 문제를 해결하고 지적할 수 있다.디렉토리 목록을 다시 보면 다음과 같은 두 개의 파일이 표시됩니다.-rw-r--r-- 1 user user 194 gru 1 13:07 _maven.repositories
-rw-r--r-- 1 user user 177 lut 21 10:38 _remote.repositories
내가 _maven.repositories
삭제할 때,lein은 의존항을 찾을 수 있습니다.회의 내용
_maven.repositories
:#NOTE: This is an internal implementation file, its format can be changed without prior notice.
#Tue Jan 27 15:17:28 CET 2015
lib-1.5.2.jar>nexus-public=
회의 내용_remote.repositories
:#NOTE: This is an Aether internal implementation file, its format can be changed without prior notice.
#Tue Jan 27 15:17:26 CET 2015
lib-1.5.2.pom>nexus-public=
lib-1.5.2.jar>nexus-public=
clojure dependencies에 파일 _remote.repositories
이 없다는 것을 알았기 때문에, 이 파일은 해석에 의존하는 동안 mvn
만들어진 것이라고 가정합니다.이것은 lein
가 _maven.repositories
를 창조했다는 것을 의미하는데 이것은 약간 오도된 것이다.무슨 해명이 있습니까?더 실행 가능한 해결 방안이 있습니까?삭제
.m2/repositories
의 일부 내용을 기억하는 것은 좀 번거롭다.토론 #4
네, 이쪽 캐시 오류로 들립니다.내가 사용한 마벤트 호출도_maven.repositories
생성되었지만, 최종적으로 central
, clojars
또는 `instead of
넥서스 퍼블릭을 포함한다.이 가능하다, ~할 수 있다,...
{:user {:repositories [["nexus-public" {:url "https://clojars.org/repo/"}]]}}
여기 있습니다 profiles.clj
. 하지만 이것은 영구적인 해결 방안이 아닙니다. 토론 #5
아마도 제가 처음에 그것을 붙여야 할 것입니다.이것은 우리의 것이다 settings.xml.이 이름은 그곳에서 왔지만, 도움이 되었는지 모르겠다.토론 #6
만약 네가 나를 좀 인도할 수 있다면, 나는 내 손을 더럽히고 싶다.clojure에 익숙해지고 싶습니다. 이 버그는 며칠 동안 사용할 수 없게 했지만, 만약 경험이 있는 사람과 한동안 함께 일할 수 있는 기회가 있다면, 이것은 저에게 더 좋을 것 같습니다.토론 #7
그렇습니다. 문제는_maven.repositories
파일을 찾을 수 있는 저장소의 이름을 포함하고 있기 때문입니다. 어떤 이유에서 비롯된 것입니다. 이름은 알 수 없을 때 오류가 발생했을 뿐입니다.#이 문제를 해결하고 싶다고요?물론 내가 일을 하지 않을 때, 나는 IRC
#leiningen
에서 너를 지도할 수 있을 것이다.토론 #8
@hyPirion 네, 그렇습니다.IRC토론 #9
@hyPirion에서 여러분과 이야기를 나눌 것입니다. 여러분의 시간을 낭비하지 않기 위해서 저는 이미 디버깅을 시작했습니다.만약 내가 더 많은 도움을 필요로 한다면, 나는 너와 이야기할 것이다.토론 #10
이더리움EnhancedLocalRepositoryManager
javadoc:/**
* A local repository manager that builds upon the classical Maven 2.0 local repository structure but additionally keeps
* track of from what repositories a cached artifact was resolved. Resolution of locally cached artifacts will be
* rejected in case the current resolution request does not match the known source repositories of an artifact, thereby
* emulating physically separated artifact caches per remote repository.
*
* @author Benjamin Bentmann
*/
이런 행위는 어쨌든 잘못된 것이 아니다.그것은 적어도 이것을 실현하기 위해서이다.사용 중인 임시 솔루션profiles.clj
이 실행 중입니다.더 할 수 있는 게 뭔지 알고 싶어요?토론 #11
@hyPiRion은 서로 다른 방식으로 전환할 수 있습니다.기본값은EnhancedLocalRepositoryManager
이고 다른 옵션은 LocalRepositoryManager
입니다. 이 경우 정상적으로 작동할 수 있습니다.단, 개요 파일로 설정하면, 거기서부터 해결 방안을 사용할 수 있습니다.토론 #12
안녕하세요,어제 전화를 하지 못해서 죄송합니다. 제가 처리해야 할 일이 몇 가지 있습니다.
이 일을 깊이 이해해 주셔서 감사합니다!나는 서로 다른 메모리 라이브러리 관리자를 보고 무엇이 현명하고 무엇이 현명하지 않은지 볼 것이다.나는
SimpleLocalRepositoryManager
우리의 용례에 있어서는 충분할 것 같아서, 성능이 떨어지지 않는 한 이 값으로 바꾸는 것은 문제없다고 생각한다.토론 #13
문제 없어요.나는 눈을 뜨고 글을 쓰고 있었다. 그래서 나는 어떤 대화도 할 수 없었다. 윙크:나는 어떤 성능 손실도 의심하지만, 네가 원한다면, 나는 좀 조사할 수 있다.나는 이 일을 끝내고 싶다.
내 말은
SimpleLocalRepositoryManager
인데 실명 검사가 귀찮아서 가져왔어LocalRepositoryManager
.토론 #14
네, 이름 걱정하지 마세요. 무슨 말인지 알겠어요.마음대로 깊이 파고들어 주십시오.만약 당신이 이곳에서 복구할 수 있다면 (주로 석류와 관련이 있을 것 같지만)
토론 #15
빌어먹을 놈의 일을 할 수 있다면, Lein에게 패치를 해 주어서 매우 기쁩니다.저는 공짜 레닌겐 스티커가 너무 갖고 싶어요!토론 #16
~~며칠 지나서 나는 또 이걸 하기 시작했다. 그러나 나는 그것을 복제할 수 없었다. 그리고 나는 약간 화가 났다. 왜냐하면 그것이 작용했기 때문이다~~어리석기 때문이다.나는 그것을 얻었다.나는 내가 개인 자료를 설정한 것을 잊었다.clj토론 #17
@hyPiRion914를 사용하면 성능에 문제가 없습니다.
마븐의 제작 방법도 발견했어요.
if ( request.isUseLegacyLocalRepository() )
{
logger.warn( "Disabling enhanced local repository: using legacy is strongly discouraged to ensure"
+ " build reproducibility." );
try
{
session.setLocalRepositoryManager( simpleLocalRepoMgrFactory.newInstance( session, localRepo ) );
}
catch ( NoLocalRepositoryManagerException e )
{
logger.warn( "Failed to configure legacy local repository: back to default" );
session.setLocalRepositoryManager( repoSystem.newLocalRepositoryManager( session, localRepo ) );
}
}
향상된 로컬 저장소를 비활성화하는 로그 메시지입니다.걱정이 돼서요.그리고처음에 나는 그것이 나를 위해 마븐과 합작한다고 썼다.사실 그것이 일하는 유일한 이유는 마븐에 내가 설정되어 있기 때문이다.xml은 우리 회사 저장소에 대한 정확한 정보를 제공합니다.이것이 바로 메모리 라이브러리 자체가 나에게 사용할 수 없는 이유
SimpleLocalRepositoryManager
입니다. 나는 로컬 부품을 사용할 수 있습니다.이것은 설정 파일에 대한 조언과 같습니다.clj나는 석류, 심지어 레닌 뿌리에서 비슷한 것을 만들 수 있지만, 지금 너의 역할은 나에게 어떻게 해야 하는지를 알려주는 것이다.
- 석류에서 구현(@cemerick 가능)
-leiningen의 어딘가에서 그것을 실현합니다. (더 많은 자바 대상을 명칭 공간으로 끌어다 놓으십시오. 석류는 이 문제를 처리해야 한다고 생각합니다.)내가 사용하고 싶은 사실은 석류의 사용자가 자신의 기능을 제공하여 세션을 생성할 수 있다는 것이다
EnhancedLocalRepositoryManager
.-leiningen의 문서를 통해 복구하고 왜 이렇게 작동하는지, 해결 방안이 무엇인지 설명
내가 보기에 마지막 선택은 내가 할 수 있는 가장 좋은 선택이다.많은 사람들이 clojars나central에 없는 것을 사용하고 싶은지, 프로필 중 어느 곳에 저장소가 없는지 확실하지 않습니다.
repository-session-fn
@kleewho 이것은 매우 가치 있는 정보입니다. 감사합니다!:)나는 가장 간단하고 충분한 선택이 바로 너의 조언이라고 생각한다. Leiningen docs에서 이 edge 사례를 정확하게 기록하기만 하면 된다.이 헝
이게 첫 번째(?)인 걸 감안하면이 점은 라이언의 역사상 보도되었는데, 이것은 아마도 보편적인 문제가 아닐 것이다.그러나 만약 우리가 이 문제를 해결하고자 한다면, 나는 가장 좋은 방법은 어떻게 해결하는지, 어떻게 해결하는지 묻고, 직접 이태/석류에 보고하는 것이라고 생각한다. 그러나 이것은 결코 중요하지 않은 것 같다.
토론 #18
여기 많아요. 제 이태기억은 녹이 슬었어요.하지만 이것은 tl;dr토론 #19
에서 제어된 세부 사항이 있습니까? 어떤mvn
가 일부 settings.xml
프로필 설정을 통해 거울을 볼 수 있습니까?만약 그렇다면, 나는 +1@hyPirion을 선택할 수 있는 행동을 간단하게 기록할 것이다.lein
@hyPiRion 수정 정보.나는 유일한 문제:user
가 생기고 토론 #20
에서 같은 매개 변수로 호출SimpleLocalRepositoryManagerFactory
하는 것이라고 생각한다. 그러나 내가 쓴 것처럼 이 점을 기록하는 것이 좋다.@cemerick 따라서 현재
simpleLocalRepoMgrFactory.newInstance
두 가지 선택이 있습니다.우선 정확한 이름으로 원격 환매를 설정하는 것이 공작물을 다운로드할 때의 이름과 같다는 뜻이다.두 번째 선택은 남겨진 공작물 분석(예를 들어 cemerick.pomegranate.aether/repository-session
의 버전 2에서)을 사용하고 저장소의 이름을 무시하는 것이다.좋아, 우리는 첫 번째 선택을 따를 수밖에 없어. 나는 이것이 이미 충분하다고 생각한다.tl;dr I'll document this
mvn
@hy Pirion 드디어 이 글을 쓸 시간이 생겼습니다.나 이거 넣었어.https://github.com/technomancy/leiningen/wiki/Repeatability#corporate- 가공소재 라이브러리영어는 틀림없이 나의 모국어가 아닐 것이다. 그래서 만약 네가 그것을 읽을 수 있다면, 만약 필요하다면, 그것을 향상시킬 수 있을 것이다. 이것은 아주 좋을 것이다. 비록 나는 그것이 너의 모국어도 아니라고 내기를 걸지만.솔직히 말해서, 나는 위키에 어떤 내용을 추가하든지 더 많은 제한을 받을 것이라고 생각한다. 제출 -> 홍보 -> 평론 -> 합병에 가깝다.복습 단계
mvn
@kleewho 감사합니다!나는 약간의 맞춤법 오류를 수정했지만 내용은 매우 좋다.물론 우리도 영어를 모국어로 하는 사람들이 그것을 보러 가도록 격려한다.공공 관계를 받아들이든지 말든지, 추적에 관한 일을 고려하면, 스티커를 받을 권리가 있다. (나에게 이메일을 보내라.)
그래, 비키는 개방적이어서 어떤 심사도 필요 없어. 나는 이 옵션이 없을 리가 없다고 생각한다.만약 누군가가 새 플러그인을 추가할 때마다 Plugin 페이지를 보아야 한다면, 그것은 상당히 고통스러울 것이다.
너는 이 문제가 지금 이미 해결되었다고 생각하니, 아니면 또 다른 문제가 해결해야 한다고 생각하니?
토론 #21
예, 문제를 닫으십시오.나는 지금까지 이렇게 자랑스럽게 기록을 통해 이 문제를 해결한 적이 없다.토론 #22
야, 너는 그럴 거야.다시 한 번 조사해 주셔서 감사합니다. 정말 감사합니다.Reference
이 문제에 관하여(에 존재하는 가공소재를 찾을 수 없습니다.창고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/technomancy/leiningen/issues/1839텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)