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 社群中所有即將舉行的活動。

檢視全部