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

标签 java maven websphere-portal

我们希望构建多个 *.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/

相关文章:

java - 处理选中和未选中的复选框

java - 如何使用 log4j 在配置文件中配置 Appender 类

java - Maven Hibernate 实体类未找到异常

Maven Jaxb2 xjc 插件错误没有找到模式

java - 获取 Websphere 门户中的所有用户

java - 在 JSF 1.1 之后不推荐使用类型 API 变量解析器。改为使用 el-resolver

java - 阻止所有浏览器访问某个网站

java - 表头取自与 ui 一起使用的列表项 :repeat

java - Spring MVC 的错误处理

java - Maven:mvn 测试给出错误 + 无法在类路径中找到类