2

我见过这个问题,但答案并不能完全解释这项技术。

在服务器上运行 maven 后,我从目标目录运行我的应用程序。

我有一个文件夹(/src/main/webapp/WEB-INF/scripts),在运行 maven 后,它会被复制到目标目录(/target/[project]/WEB-INF/scripts)。

我需要确保此目录中的所有文件(递归)都获得可执行权限。

没有蚂蚁我怎么能做到这一点?

4

2 回答 2

0

您可以尝试将程序集插件放入预打包阶段并将文件复制到 target/classes/... 文件夹(我不确定文件夹的确切名称)并在复制期间通过程序集插件,您可以更改权限。战争插件将拾取文件并将它们打包到战争中。我不确定这是否完美。我从来没有尝试过。

于 2012-04-18T07:36:40.727 回答
0

您可以在 pom.xml 的“prepare-package”阶段使用“exec-maven-plugin”和“chmod”可执行文件:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>${org.codehaus.mojo.version}</version>
    <executions>
       <execution>
            <id>chmod</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>exec</goal>
            </goals>
            <configuration>
                <executable>chmod</executable>
                <arguments>
                    <argument>+x</argument>
                    <argument>${project.build.directory}/[project]/WEB-INF/scripts/myscript.sh</argument>
                </arguments>
            </configuration>
        </execution>
    </executions>
</plugin>

它对我有用。我想将 exec 权限放在从源复制到目标/类的二进制文件上。

于 2018-11-15T16:50:46.413 回答