领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多在 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 版本发布。
<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>
<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.
<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>
[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'