我在另一个插件的exec插件中调用shell脚本时遇到一些问题,这可以完成吗?
我有一个名为scripts的项目打包为jar,在该项目中我想放置所有shell脚本并从各种项目中调用它们,例如:我想从各种项目中调用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>
这可以完成吗?我尝试了很多变化......我可以用脚本包装jar ...我知道我可以通过其他方式执行此操作,但我需要以这种方式执行它
答案 0 :(得分:0)
我认为你必须首先从脚本jar解包shell scipts并执行脚本的解压缩版本。可以使用maven-dependency-plugin打开scipts包装。使用upack目标。您可以找到示例here。