Uberjar은 Mac과 Ubuntu의 위치가 다르다
묘사
명령은 다음 두 가지 모두에 적용됩니다.lein clean && lein with-profile dev compile && lein with-profile dev uberjar
이 명령의 결과는 약간 다릅니다.lein clean && lein with-profile dev compile && lein uberjar
- Mac 컴퓨터에 독립된 JAR을 넣는다target/dev+uberjar
.- Ubuntu에 독립된 JAR이 배치됨
target
.왜 그런지 모르겠어요.그냥 제가 본 걸 여러분과 나누고 싶어서요.
Ubuntu:
Leiningen 2.2.0 on Java 1.7.0_25 OpenJDK 64-Bit Server VM
우의:
Leiningen 2.2.0 on Java 1.7.0_40-ea Java HotSpot(TM) 64-Bit Server VM
토론 #1
Mac컴퓨터에 유효한 사용 프로필이 없는 것을 확인하셨습니까?토론 #2
단지 해명할 뿐이다. 두 가지 상황의 목록은 모두target
이지만 JAR는 다른 명칭이 있습니까?토론 #셋
@michaelklishin:내 로컬 시스템(Mac)에는 다음과 같은 기능이 있습니다
~/.lein/profiles.clj
.;; To check for updated plugins use:
;; lein ancient :all
{:user
{:plugins
[[lein-ancient "0.4.2"]
[lein-midje "3.0.1"]
[lein-localrepo "0.5.2"]
[lein-marginalia "0.7.1"]
[com.palletops/pallet-lein "0.6.0-beta.5"]
]}}
Mac,in/Users/david/dev-blue/banneker/target/dev+uberjar
:-rw-r--r-- 1 david staff 58727842 Jul 24 02:52 banneker-0.1.0-SNAPSHOT-standalone.jar
Ubuntu/home/ubuntu/src/banneker/target
:-rw-rw-r-- 1 ubuntu ubuntu 49823750 Jul 24 07:00 banneker-0.1.0-SNAPSHOT-standalone.jar
두 번째 파일의 크기가 정확하지 않다는 점도 주의해야 한다.지금, 나는 내가 열거한 첫 번째 명령만 사용하고, 맨 위에서, 나는 내가 바라는 결과를 얻었다.
토론 #4
우분투~/.lein/profiles.clj
있어요?토론 #5
아니요, Ubuntu 기계가 없어요~/.lein/profiles.clj
.토론 #6
: JAR 이름에 활성 프로파일 이름이 사용됩니다.토론 #7
첫 번째 명령lein with-profile dev uberjar
으로 끝내는 것은 나의 용례에 적합하지 않기 때문에 이 문제가 확실히 나에게 영향을 주었다.현재, 나의 일은 Mac에서 다른 스크립트를 작성하는 것이다.vs Ubuntu.토론 #8
@michaelklishin Re: "그래, 네 대답이야. 사용할 수 있는 프로필 이름은 JAR 이름에 써."잘 모르겠어요.설명해 주시겠어요?토론 #9
죄송합니다. 파일 이름이 다르다고 잘못 생각했습니다.디렉터리가 다르면 active profiles가 아닌 플랫폼이 다를 수 있습니다.토론 #10
IRC:I suspect it's some hook from one of those plugins which somehow hooks in the dev profile. Could you try and temporarily remove the profiles.clj by e.g. commenting out everything in it?
네, 제 맥 컴퓨터
profiles.clj
를 주석해 버렸습니다.현재 결과는 Ubuntu 기계와 일치합니다.(나는 왜--또는 이것이 합리적인지 모르겠다.)토론 #11
플러그인을 하나하나 살펴보고 어떤 플러그인이 이런 상황을 초래했는지 내일이었으면 좋겠습니다.토론 #12
IRC:09:19| hyPiRion| xpe: I suspect it's some hook from one of those plugins which somehow
hooks in the dev profile. Could you try and temporarily remove the
profiles.clj by e.g. commenting out everything in it?
09:20| xpe| hyPiRion: sure, will try
09:23| xpe| hyPiRion: commented it out; it works
09:25| hyPiRion| xpe: Okay, I'd recommend you to update the plugins to latest
versions, and if that doesn't help, I'd be very happy if you figured
out which one it is and file an issue for that plugin
09:26| xpe| hyPiRion: yeah, there may be a wayward plugin
09:26| hyPiRion| because hooking in the dev profile will add in a ton of dependencies
09:26| hyPiRion| (which you usually don't want in the uberjar)
누군가가 이 일을 하는 깡패 플러그인을 추적해서 그곳에서 문제를 제기하기 전까지 나는 계속 개방 상태를 유지할 것이다.토론 #13
삭제[com.palletops/pallet-lein "0.6.0-beta.5"]
했는데 불일치성이 사라졌어요.토론 #14
이것은 진정한 Leiningen 문제가 아니라 환경에 플러그인의 부작용이 있기 때문에 닫겠습니다.Leiningen이 이 일을 어떻게 처리할 것인지에 대해 생각이 있다면 재개방을 환영합니다.토론 #15
에서[com.palletops/pallet-lein "0.8.0-alpha.1"]
로 업그레이드하여 이 문제를 복구했습니다.감사합니다!토론 #16
아, 이것은 이미 최신 버전에서 처리되었기 때문에 어떤 질문도 제출할 이유가 없는 것 같다:)Reference
이 문제에 관하여(Uberjar은 Mac과 Ubuntu의 위치가 다르다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/technomancy/leiningen/issues/1259텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)