如何在多模块maven项目中将文件从一个模块包含到另一个模块

时间:2016-08-22 14:13:03

标签: java maven

我正在开发一个maven项目,这是一个多模块项目,我想将moduleA / src / main / bin / abc.sh中的文件包含到其他模块中,例如moduleB,它的结构已经类似于moduleB / src / main /bin/pqr.sh 在构建项目时,模块的结构就像moduleB / bin /..*。sh 如何在moduleB中包含abc.sh 我尝试过使用maven-resources-plugin作为

  <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-cleanup</id>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>/bin</outputDirectory>
                        <overwrite>true</overwrite>
                        <resources>
                            <resource>
                                <directory>${multi.module.project.root.dir}/modules/abc/src/main/bin</directory>
                                <includes>
                                    <include>abc.sh</include>
                                </includes>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>

这使我在构建项目时出错

Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.1:copy-resources (copy-cleanup) on project moduleB: /bin/abc.sh (Permission denied) -> [Help 1]

1 个答案:

答案 0 :(得分:0)

如果您真的在计算机的/bin目录中工作,您应该知道要在UNIX上使用此目录,您需要root帐户。

另外,在这种情况下,我建议你机器上的不要使用ROOT帐户

我建议您授予read访问您当前用来打包应用程序的用户的权限。

命令:

sudo chmod o+r /bin/abc.sh