领先一步
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 模块,转而使用标准 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'