β

《Maven官方指南》创建装配

并发编程网 – ifeve.com 11 阅读

原文链接

创建装配

装配机制在Maven中提供了一种简单的方式创建,分布使用一个装配描述符和依赖信息在你的pom中。为了有序地使用插件你需要配置装配插件在你的pom中和它可能看起来像这样:

<project>
  <parent>
    <artifactId>maven</artifactId>
    <groupId>org.apache.maven</groupId>
    <version>2.0-beta-3-SNAPSHOT</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.maven</groupId>
  <artifactId>maven-embedder</artifactId>
  <name>Maven Embedder</name>
  <version>2.0-beta-3-SNAPSHOT</version>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.5.3</version>
        <configuration>
          <descriptor>src/assembly/dep.xml</descriptor>
        </configuration>
        <executions>
          <execution>
            <id>create-archive</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>

你将注意到装配描述符是在本地的==${project.basedir}/src/assembly==这是装配描述符的 标准 路径。

创建一个二进制装配

在你创建一个分布标准使用地方,这是最典型装配插件的使用。

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
  <id>bin</id>
  <formats>
    <format>tar.gz</format>
    <format>tar.bz2</format>
    <format>zip</format>
  </formats>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <outputDirectory>/</outputDirectory>
      <includes>
        <include>README*</include>
        <include>LICENSE*</include>
        <include>NOTICE*</include>
      </includes>
    </fileSet>
    <fileSet>
      <directory>${project.build.directory}</directory>
      <outputDirectory>/</outputDirectory>
      <includes>
        <include>*.jar</include>
      </includes>
    </fileSet>
    <fileSet>
      <directory>${project.build.directory}/site</directory>
      <outputDirectory>docs</outputDirectory>
    </fileSet>
  </fileSets>
</assembly>

你可以使用手动定义装配描述正如上面提到的,但是这是在用例中简易使用 预定义装配描述二进制文件

怎么使用预定义装配描述符是在 maven-assembly-plugin文档 中描述的。

<assembly 
  xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 
  http://maven.apache.org/xsd/assembly-1.1.2.xsd">
 
  <!-- TODO: a jarjar format would be better -->
  <id>dep</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>
  <dependencySets>
    <dependencySet>
      <outputDirectory>/</outputDirectory>
      <unpack>true</unpack>
      <scope>runtime</scope>
      <excludes>
        <exclude>junit:junit</exclude>
        <exclude>commons-lang:commons-lang</exclude>
        <exclude>commons-logging:commons-logging</exclude>
        <exclude>commons-cli:commons-cli</exclude>
        <exclude>jsch:jsch</exclude>
        <exclude>org.apache.maven.wagon:wagon-ssh</exclude>
        <!-- TODO: can probably be removed now -->
        <exclude>plexus:plexus-container-default</exclude>
      </excludes>
    </dependencySet>
  </dependencySets>
</assembly>

如果你想创建一个源码分布包,最好的方式就是使用 预定义装配描述src 来达到目的。

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
  <id>src</id>
  <formats>
    <format>tar.gz</format>
    <format>tar.bz2</format>
    <format>zip</format>
  </formats>
  <fileSets>
    <fileSet>
      <directory>${project.basedir}</directory>
      <includes>
        <include>README*</include>
        <include>LICENSE*</include>
        <include>NOTICE*</include>
        <include>pom.xml</include>
      </includes>
      <useDefaultExcludes>true</useDefaultExcludes>
    </fileSet>
    <fileSet>
      <directory>${project.build.sourceDirectory}/src</directory>
      <useDefaultExcludes>true</useDefaultExcludes>
    </fileSet>
  </fileSets>
</assembly>

现在可以通过如下命令行创建定义的分发包:

mvn package

原创文章,转载请注明: 转载自 并发编程网 – ifeve.com 本文链接地址: 《Maven官方指南》创建装配

魔术师Carvendy

尘世间一小小Javaer , 还没吃饱呢。

Latest posts by 魔术师Carvendy ( see all )

Favorite Loading 添加本文到我的收藏

Related posts:

  1. 《Maven官方指南》使用Maven 2 为不同环境构建
  2. 《Maven官方指南》配置档案插件指南
  3. 《Maven官方指南》创建一个站点
  4. 《Maven官方指南》使用工具链指南
  5. 《Maven官方指南》翻译邀请
  6. 《Maven官方指南》Maven 类加载指南
  7. 《Maven官方指南》jdk1.4项目使用JDK1.5构建指南
  8. 《Maven官方指南》可选的依赖和依赖排除
  9. 《Maven官方指南》片段宏指南
  10. 《Maven官方指南》APT格式
  11. 《Maven官方指南》通过https认证远程仓库权限指南
  12. 《Maven官方指南》权限和发布设置
  13. 《Maven官方指南》生成源文件
  14. 《Maven官方指南》Maven使用Ant指南
  15. 《Maven官方指南》指南第三方部署到远程仓库
作者:并发编程网 – ifeve.com
让天下没有难学的技术
原文地址:《Maven官方指南》创建装配, 感谢原作者分享。

发表评论