Maven PAR 外掛 1.0.0.M1

工程 | Ben Hale | 2009 年 6 月 24 日 | ...

在 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 版本釋出。

用法

外掛的使用只略有變化,現在可以預設所有必要的資訊。

倉庫

要獲取外掛,您需要將 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/>配置標籤,用於選擇 PAR 檔案中包含的檔名是${groupId}.${artifactId}-${version}.${type}還是${artifactId}.${type}。此值預設為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 社群所有即將舉行的活動。

檢視所有