【问题标题】:how to exclude project class files when using maven assembly plugin?使用maven程序集插件时如何排除项目类文件?
【发布时间】:2015-01-06 08:23:06
【问题描述】:

我正在使用 maven 程序集插件将我的所有依赖项打包到 lib 文件夹内的 zip 中。 我还使用

添加项目工件
<useProjectArtifact>true</useProjectArtifact>

唯一的问题是,在最终的 zip 中,我还看到了项目类文件。我想排除它们,因为 lib 已经包含工件,但是在尝试了各种选项之后,到目前为止还没有成功。

这是我的 assembly.xml

<assembly>
  <id>binary</id>
  <formats>
    <format>zip</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <useProjectArtifact>true</useProjectArtifact>
      <outputDirectory>lib</outputDirectory>
      <unpack>false</unpack>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
  <fileSets>
    <fileSet>
      <directory>${project.build.outputDirectory}</directory>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>
</assembly>

【问题讨论】:

    标签: java maven-3 maven-assembly-plugin


    【解决方案1】:

    您的项目的类出现在您的程序集中,因为您将它们包含在您的程序集中:

    <fileSets>
        <fileSet>
            <directory>${project.build.outputDirectory}</directory>
            <outputDirectory>/</outputDirectory>
        </fileSet>
    </fileSets>
    

    因此,如果您不希望您的项目的类在您的程序集中,那么您必须从您的程序集描述符中删除这部分。

    提醒一下,变量${project.build.outputDirectory}默认是文件夹target/classes

    【讨论】:

      猜你喜欢
      • 2013-10-27
      • 2011-06-29
      • 2015-09-08
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 2011-09-06
      • 2013-08-03
      • 2016-05-16
      相关资源
      最近更新 更多