Maven PAR 插件 1.0.0.M1

工程 | Ben Hale | 2009 年 6 月 24 日 | ...

在 SpringSource dm Server (当时的应用平台) 推出后不久,Thorsten Maus 创建了一个 用于创建 PAR 文件的 Maven 插件。 这是一个伟大的社区贡献,我们甚至在 dm Server 1.0.x 的 入门指南 中使用了它。

随着 dm Server 2.0 里程碑的推进,我们一直在向 PAR 文件添加新功能。 最有趣的功能是现在 PAR 文件可以包含不仅仅是 JAR 文件。 随着 OSGi RFC 66 的推出,dm Server 弃用了 Web 模块,转而支持使用 a 的标准 Web 容器文件.war扩展名。 因此,需要更新 PAR 插件以支持这些不同类型作为依赖项。 Thorsten 慷慨地同意将其代码捐赠给 SpringSource,我很高兴地宣布 Apache 许可的 Maven PAR 插件的 1.0.0.M1 版本发布。

用法

插件的使用方式仅略有变化,现在可以默认为所有需要的信息。

存储库

要获取插件,您需要将 SpringSource Enterprise Bundle Repository 引用为<pluginRepository/>
<pluginRepositories>
    <pluginRepository>
          <id>com.springsource.repository.bundles.milestone</id>
          <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Milestones</name>
          <url>http://repository.springsource.com/maven/bundles/milestone </url>
     </pluginRepository>
</pluginRepositories>

构建插件

接下来,您需要将打包类型设置为par并将插件添加到您的构建插件列表中。
<build>
     <plugins>
          <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-par-plugin</artifactId>
               <version>1.0.0.M1</version>
          </plugin>
     </plugins>
</build>

默认情况下,所有 PAR 清单头都使用 POM 中的默认值填充,但可以通过配置覆盖。

POM 元素
Application-SymbolicName ${project.artifactId}
Application-Name ${project.name}
Application-Description ${project.description}
Application-Version ${project.version}
<build>
     <plugins>
          <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-par-plugin</artifactId>
               <version>1.0.0.M1</version>
               <configuration>
                   <applicationSymbolicName>override.symbolic.name</applicationSymbolicName>
                   <applicationName>Override Name</applicationName>
                   <applicationDescription>Override Description</applicationDescription>
                   <applicationVersion>1000.0.0.override</applicationVersion>
               </configuration>
          </plugin>
     </plugins>
</build>

还有一个<fullyQualifiedNames/>配置标记,用于在${groupId}.${artifactId}-${version}.${type}${artifactId}.${type}之间选择 PAR 文件中包含的文件的文件名。 此值默认为false.

PAR

接下来,添加您的依赖项列表。 该插件打包 POM 中列出的所有直接依赖项。 它不关心范围或传递依赖项。
<dependencies>
    <dependency>
        <groupId>com.springsource.dmserver</groupId>
        <artifactId>greenpages.app-solution</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>com.springsource.dmserver</groupId>
        <artifactId>greenpages.jpa-solution</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>com.springsource.dmserver</groupId>
        <artifactId>greenpages.db-solution</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
        <groupId>com.springsource.dmserver</groupId>
        <artifactId>greenpages.web-solution</artifactId>
        <version>${project.version}</version>
        <type>war</type>
    </dependency>
</dependencies>

构建

运行mvn package.
[INFO] [par:par]
[INFO] Assembling Artifacts for PAR 'solution/greenpages/target/greenpages-solution-1.0.0.SNAPSHOT.par'
[INFO]   Added 'greenpages.app-solution.jar'
[INFO]   Added 'greenpages.jpa-solution.jar'
[INFO]   Added 'greenpages.db-solution.jar'
[INFO]   Added 'greenpages.web-solution.war'

未来

请克隆源代码并在 dm Server JIRA 的评论和建议中向我提供反馈。

获取 Spring 新闻简报

通过 Spring 新闻简报保持联系

订阅

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部