2013-03-04 2 views
0

버전에 관계없이 jar 파일을 실행하는 shellscript을 어떻게 만들 수 있습니까? 모든 버전의 jar 파일을 실행하는 쉘 스크립트

내가 파일을 말해봐 :

내-JAR 파일-1.0.0-SNAPSHOT-executable.jar

내가의 라인을 따라 뭔가를 할 것입니다 쉘 스크립트를 원하는

#!/bin/bash 
java -some -other -options -jar my-jar-file-1.0.0-SNAPSHOT-executable.jar 

그러나 그것은 그것의 모든 버전을 실행해야하므로

    ,
  1. 내-JAR 파일-1.0.0-SNAPSHOT-executable.jar

  2. 내-JAR 파일-1.1.0-SNAPSHOT-executable.jar

  3. 내-JAR 파일-1.0 .1-SNAPSHOT-executable.jar

모두 동일한 스크립트로 실행해야합니다.

어떻게하면됩니까?

+0

을 당신이 소프트 링크를 사용한다고 생각합니다. ln -s my-jar-file-1.0.1-SNAPSHOT-executable.jar my-jar-file-1.0.1-executable.jar – Miquel

답변

1

for jarfile in my-jar-file-*-SNAPSHOT-executable.jar; do 
    java -some -other -options -jar $jarfile 
    echo "done for: $jarfile" 
done 
1

우리는 다른 방법으로 생각할 수 있습니다. jar에 최종 이름을 지정하지 마십시오.이 이름은 계속 유지되며 스크립트를 수정하지 않아도됩니다.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <finalName>myname</finalName> 
    <configuration> 
</plugin> 

그리고 버전 번호가 필수 인 경우 스크립트를 작성하여 특정 jar에 대한 패턴 검색을 작성할 수 있습니다. 그리고 그에 따라 실행하십시오.

나는 개미를 사용하여 비슷한 일을했지만 목표는 달랐습니다. 이것이 도움이 되었기를 바랍니다.

java -jar `ls my-jar*.jar` 
1

이 bash는 스크립트에서이 시도 : 항아리 일치하는 패턴 my-jar-version.jar의 이름 경우

관련 문제