2012-05-24 5 views
4

내 그루비 스크립트를 휴대하고 싶습니다 나는 첫 번째 줄에 삽입 : 나는 그것의 디렉토리 외부 스크립트를 실행할 때 문제가 온다그루비 스크립트 실행

#!/usr/bin/env groovy 

, 그것을 찾을 수 없습니다 라이브러리. 저는 파이썬 세계와 모든 수입품을 파이썬으로 작성하여 상대적으로 스크립트의 경로를 결정합니다. Groovy에서는 -classpath를 지정해야하지만 첫 번째 #에서는 그렇게 할 수 없습니다! 선.

해결 방법은 무엇입니까?

+0

about : #!/usr/bin/env groovy -cp my : class : path – GreyBeardedGeek

+0

여기에 my : class : 경로를 하드 코딩하고 싶지 않으며 #!/usr/bin/env groovy -cp'dirname $ 0' – Soid

답변

9

라이브러리를 어디에서나 액세스 할 수있는 Maven 저장소에 저장하는 경우 라이브러리를 가져 오는 데는 Grape을 사용하는 것이 좋습니다.

이 제공하는 여러 가지 혜택 : - 단지 확인 그루비가 클라이언트 볼 수 있도록

  1. 당신은 당신이 라이브러리를 배포 할 수없는 모든
  2. 의 클래스 경로에 대해 걱정할 필요가 없습니다
  3. 라이브러리는 한 번만 다운로드되므로 응용 프로그램을 업그레이드하더라도 .groovy 파일 만 재배포하면됩니다.

간단한 예 :

#!/usr/bin/env groovy 

@Grab(group='commons-io', module='commons-io', version='2.3') 
import org.apache.commons.io.FileUtils 

... use FileUtils like normal ... 

이미 mvnrepository.com 볼 수 있습니다 기존의 도서관이 많이있다.

비공개 라이브러리가 있어도 비교적 쉽게 자신을 넣을 수 있습니다. libraries into a local/private repository.

+0

실제로 라이브러리는 아니지만 응용 프로그램 패키지, 응용 프로그램 패키지 등 ... – Soid

+1

모든 것을 하나의 Jar 파일로 저장할 수 있습니다. – OverZealous

+0

하지만 컴파일이 필요합니다. 맞습니까? – Soid