領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多在 SpringSource dm Server(當時的應用程式平臺)推出後不久,Thorsten Maus 建立了一個 Maven 外掛用於建立 PAR 檔案。這是一項很棒的社群貢獻,我們甚至在 dm Server 1.0.x 的 入門指南 中使用了它。
隨著 dm Server 2.0 里程碑的推進,我們一直在為 PAR 檔案新增新功能。最有趣的功能是現在 PAR 檔案不僅可以包含 JAR 檔案。隨著 OSGi RFC 66 的引入,dm Server 棄用了 Web Modules,轉而使用帶有.war副檔名的標準 Web 容器檔案。因此,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/>配置標籤,用於選擇 PAR 檔案中包含的檔名是${groupId}.${artifactId}-${version}.${type}還是${artifactId}.${type}。此值預設為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'