我正在使用maven-assembly-plugin來打包我的構建。如何在Maven輸出中設置目錄權限?
我能夠執行文件集的某些複製並修改文件權限,但我無法修改目錄權限。從文檔中,我試圖用在我關心的目錄上。但是,無論我指定什麼權限,目錄總是基於當前的umask(0022)創建。 有誰知道在Maven構建期間以這種方式修改目錄權限的乾淨方式。唯一可行的是umask 0
,但我寧願不要這樣做,因爲在這個項目上工作的每個人都必須擁有這個集合。
例行家assembly.xml:
<?xml version="1.0"?>
<assembly>
<id>zip-with-dependencies</id>
<formats>
<format>dir</format>
<format>tar.gz</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<dependencySets>
<dependencySet>
<includes>
<include>foo:bar</include>
</includes>
<outputDirectory>/resources/blah</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<unpack>true</unpack>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${basedir}/src/main/web</directory>
<includes>
<include>some_dir</include>
</includes>
<outputDirectory>web</outputDirectory>
<fileMode>0777</fileMode>
<directoryMode>0777</directoryMode>
</fileSet>
</fileSets>
</assembly>
好的,我無法讓maven-assembly-plugin正確設置目錄權限。我認爲這是Maven中的一個錯誤。我想出的最佳解決方案是添加exec-maven-plugin並從中手動調用chmod。我現在必須輸入「mvn clean package exec:exec」,但至少現在的權限是正確的。 –