2012-02-13 5 views
3

私は別のプラグインでのexecプラグイン内からシェルスクリプトを呼び出していくつかの問題を抱えているが、これは全く行うことができますか?Mavenの幹部のexec、他のjarファイルのスクリプトへのrefrence

私はすべての自分のシェルスクリプトを置いて、さまざまなプロジェクトからそれらを呼び出す、そのプロジェクトでは、jarとしてパッケージ化された名前のプロジェクトを持っています:例えば、私は様々なプロジェクトからs3syncを呼び出したい、私のスクリプトプロジェクトに他のプロジェクトではなく、私はそのようなファイルやディレクトリを取得していないよ実行するように見えることができ、私の設定:

<plugin> 
      <artifactId>exec-maven-plugin</artifactId> 
      <groupId>org.codehaus.mojo</groupId> 
      <version>1.2.1</version> 
      <executions> 
       <execution> 
        <id>PrepFIle</id> 
        <phase>test</phase> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
        <configuration> 
         <skip>${aws.s3.deploy.skip}</skip> 
         <executable>chmod</executable> 
         <arguments> 
          <argument>777</argument> 
          <argument>s3sync.sh</argument> 
          <!--<argument>${project.build.outputDirectory}/s3sync.sh</argument>--> 
         </arguments> 
        </configuration> 
       </execution> 
       <execution> 
        <id>RunFile</id> 
        <phase>test</phase> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
        <configuration> 
         <skip>${aws.s3.deploy.skip}</skip> 
         <workingDirectory>${project.build.outputDirectory}</workingDirectory> 
         <!--<executable>${project.build.outputDirectory}/s3sync.sh</executable>--> 
         <executable>s3sync.sh</executable> 
         <arguments> 
          <argument>${aws.s3.bucket.name}</argument> 
          <argument>${project.build.outputDirectory}</argument> 
         </arguments> 
        </configuration> 
       </execution> 
      </executions> 
      <dependencies> 
       <dependency> 
        <groupId>com.company</groupId> 
        <artifactId>scripts</artifactId> 
        <version>0.0.1</version> 
        <type>jar</type> 
       </dependency> 
      </dependencies> 
     </plugin> 

は、これがすべてで行うことができますか?私は私が他の方法でこれを行うことができます知っているが、私は

答えて

0

は、私はあなたが最初に解凍しなければならないと思います。この方法でそれを実行する必要があります...私はjarファイルをスクリプトでパッケージされていることができます...多くのバリエーションを試してみましたスクリプトのjarファイルからシェルのsciptを取り出し、解凍したスクリプトのバージョンを実行します。 sc37の開梱はmaven-dependency-pluginで行うことができます。 upackの目標を使用します。あなたは例hereを見つけることができます。

関連する問題