領先一步
VMware 提供培訓和認證,以加速您的進度。
了解更多在 SpringSource dm Server (當時稱為 Application Platform) 推出後不久,Thorsten Maus 建立了一個 Maven 插件來建立 PAR 檔案。這是一個很棒的社群貢獻,我們甚至在 dm Server 1.0.x 的 入門指南 中使用了它。
隨著 dm Server 2.0 里程碑的進展,我們一直在為 PAR 檔案添加新功能。最有趣的功能是,現在 PAR 檔案可以包含的不僅僅是 JAR 檔案。隨著 OSGi RFC 66 的推出,dm Server 已經 棄用 Web Modules,轉而支持使用標準 Web Container 檔案.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 manifest 標頭都使用 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'