gpt4 book ai didi

java - 使用 Maven 构建 "Portal Application Archive"*.PAA

转载 作者:行者123 更新时间:2023-11-30 11:11:52 25 4
gpt4 key购买 nike

我们希望构建多个 *.PAA 文件以部署在 IBM websphere 8.5 上。

我很乐意使用 maven 将我们现有的 Portal *.war 项目整合到一个 PAA 文件中。

PAA 文件就像 EAR 文件一样 - 但其中的结构更多。在这里查看规范:http://www-01.ibm.com/support/knowledgecenter/SSYJ99_8.0.0/config/si_paa_spec.dita

这可行吗?或者我应该只使用 antscript 吗?

TIA。

最佳答案

绝对可行。我们已经实现了一个解决方案来执行此操作,但对于 Portal 8.0.0.1,该解决方案已用于管理 40 多个 war 文件、主题、jar 和 PAA 支持的其他 Artifact 。

这些是创建我们的解决方案所涉及的步骤:

  1. 在没有 WAR 文件的情况下手动创建新的 PAA(即复制提供的示例 PAA、重命名文件夹和属性文件,以及编辑 sdd.xml 文件)。确保通过在其中放置测试 WAR 文件来测试此手动 PAA,并确保它得到部署。
  2. 新建一个简单的maven pom项目
  3. 将 PAA 项目(没有 WAR 文件)复制到 src/main/resources(您可以将其添加为资源目录或使用 maven-resources-plugin 将它们添加到目标目录)
  4. 将所有 WAR 文件和其他 Artifact 作为依赖项添加到 pom.xml 文件中(我们使用分类器来区分普通 WAR 文件和 Portlet WAR 文件,但这确实需要源项目指定他们 pom 中的分类器)
  5. 使用 maven-assembly-plugin 的 dependencySet 功能将您的依赖项复制到 PAA 所需的特定位置。使用 fileSet 功能来包含之前复制的项目 PAA 文件。确保程序集 package.xml 生成一个 zip 文件并且不包含基本目录。

package.xml 中的示例依赖集(注意独立 WAR 文件的分类器 webapp 的用法)

    <dependencySet>
<unpack>false</unpack>
<scope>runtime</scope>
<outputDirectory>myApp/components/MyApp/installableApps/war</outputDirectory>
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
<includes>
<include>*:war:webapp</include>
</includes>
</dependencySet>
<dependencySet>
<unpack>false</unpack>
<scope>runtime</scope>
<outputDirectory>myApp/components/MyApp/installableApps/portlets</outputDirectory>
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
<includes>
<include>*:war</include>
</includes>
</dependencySet>

关于java - 使用 Maven 构建 "Portal Application Archive"*.PAA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27181788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com