我在 UNIX 下的一个公共共享 NFS 目录上设置 Maven。在站点 settings.xml 中,我们有 filePermissions 和 directoryPermissions 设置,如下所示:
<servers>
<server>
<id>release.repo</id>
<filePermissions>666</filePermissions>
<directoryPermissions>777</directoryPermissions>
<configuration></configuration>
</server>
<server>
<id>snapshot.repo</id>
<filePermissions>666</filePermissions>
<directoryPermissions>777</directoryPermissions>
<configuration></configuration>
</server>
</servers>
我们也在使用配置文件,所以在配置文件部分,我们有这样的内容:
<profile>
<id>linux64</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<repositories>
<repository>
<id>snapshot.repo</id>
<name>Snapshot Repository</name>
<layout>default</layout>
<releases>
<enabled>false</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<url>file:///path/maven_repo_snapshots</url>
</repository>
<repository>
<id>release.repo</id>
<name>Release Repository</name>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<url>file:///path/maven_repo</url>
</repository>
</repositories>
在我的用户 settings.xml 我有这样的东西:
<settings>
<activeProfiles>
<activeProfile>linux64</activeProfile>
</activeProfiles>
存储库 ID 与服务器 ID 匹配。但是,当我们实际运行部署时,并没有使用 filePermissions 和 directoryPermissions。
当我们运行 help:effective-pom、help:effective-settings 和 help:active-profiles 时,一切看起来都正常。我有什么明显的遗漏吗?
mvn -v 的输出 =
$mvn -v
Apache Maven 3.0.4 (r1232337; 2012-01-17 02:44:56-0600)
Maven home: /path/apache-maven-3.0.4
Java version: 1.6.0_38, vendor: Sun Microsystems Inc.
Java home: /usr/java/jdk1.6.0_38/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.18-308.24.1.el5", arch: "amd64", family: "unix"
我们计划在某个时候研究像 Nexus 这样的存储库,但我们希望通过不添加另一个基础设施来简单地进行过渡。