2011-05-17 118 views
3

我想使用maven组件插件,像这样建我的项目JAR的拉链和所需的所有库运行它Maven的组装插件文件模式输出文件夹

 <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.2.1</version> 
       <executions> 
        <execution> 
         <id>make-assembly</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
         <configuration> 
          <descriptors> 
<descriptor>src/main/assembly/exportWithDepends.xml</descriptor> 
          </descriptors> 
          <finalName>myname</finalName> 
          <appendAssemblyId>false</appendAssemblyId> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

我组装的样子:

<assembly> 
    <id>jar-with-dependencies</id> 
    <formats> 
     <format>zip</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
     <dependencySet> 
      <unpack>false</unpack> 
      <scope>runtime</scope> 
      <outputDirectory>lib</outputDirectory> 
      <useProjectArtifact>true</useProjectArtifact> 
      <fileMode>755</fileMode> 
     </dependencySet> 
    </dependencySets> 
    <files> 
     <file> 
<source>${project.build.directory}/${project.build.finalName}.jar</source> 
     </file> 
    </files> 
</assembly> 

这个工作,并使适当的压缩。

然后,dependencySet上的fileMode标志为LIB中的每个元素提供一个755 CHMOD。问题是,实际的LIB文件夹本身保持777.有没有办法让LIB文件夹也得到755?

制作行家做的事情并不想永远做让我伤心:(

回答

1

我不认为Maven的组装插件现在可以这样做的权利。所以,我只是做了我的变化在bash脚本...

+0

的OP的答案是只有错误的一个在这里,是被接受的答案..嗯... – Ajax 2013-11-24 06:32:34

4

还没有尝试过自己,所以如果它与目标目录的工作,或只是目录添加到我不能说目标目录,但你确实应该尝试

<directoryMode>755</directoryMode> 

它在docs

+0

我也试试这个,它似乎刚进去的lib目录的..这是很酷,但不是我想要的东西:( – bwawok 2011-05-17 19:19:55

7

这真的很奇怪,但pom.xml的片段将0755模式设置为全部汇编目录。尽管如此,我认为这不是非常可靠的(面向未来的),因为显然,Maven作者打算使用着名的Unix八进制表示法来指定目录访问模式,而不是十进制等效的

 <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.3</version> 
      <configuration> 
       <archiverConfig> 
        <!-- 493D == 0755, seems to be assembly plugin bug --> 
        <defaultDirectoryMode>493</defaultDirectoryMode> 
       </archiverConfig> 
      </configuration> 

原信用证必须去这里:https://issues.apache.org/jira/browse/MASSEMBLY-494

+0

这仍然适用于2014年4月使用maven-assembly-plugin:2.4 – 2014-04-07 13:51:34

+0

更新错误链接:https://issues.apache.org/jira/browse/ MASSEMBLY-494 – 2017-10-03 16:56:39

+0

@StewartFrancis谢谢,我已经更新了答案 – 2017-10-04 07:19:37