JBoss 项目
红帽

操作指南

离线处理项目示例

JBoss 工具 / 红帽开发者工作室提供了一个 groovy 脚本,可为所有希望离线工作(在首次在线会话后)的人员预先缓存所有 JBoss 工具示例及其依赖项。例如,讲师可以下载所有必需的依赖项,然后通过闪存驱动器向他的学生提供压缩的 .m2/repository,然后所有学生都可以离线工作。

首选项 > JBoss 工具 > 项目范例 > 离线支持下生成一个包含适当参数的 groovy 命令。

examples offline support2

点击复制到剪贴板按钮,然后将剪贴板粘贴到终端中。脚本运行所在的目录中将创建 offline/ 目录。

基本上,go_offline.groovy 脚本将

  • 从各种来源下载所有示例

  • 对每个示例运行 maven 构建,因此

  • 填充本地 Maven 存储库

要求

Une 要执行离线脚本,必须满足以下软件要求

  • JDK 8 必须在路径中可用

  • Groovy 2.4+ 必须在路径中可用

  • Maven 的最新版本必须在路径中可用(用于引导示例构建)

用法

脚本获取一列指向 项目范例说明符 的 URL 作为参数,以及一系列选项。

用法

groovy -Dgrape.config="/path/to/grapeconfig.xml" "/path/to/offline/go_offline_version.groovy" url1 url2 ... urlN

强烈建议设置 -Dgrape.config 系统属性,以避免groovy 依存解析问题。此 配置 是一个不错的参考。

脚本支持以下选项

  • -h(或 --help):显示帮助

  • -q(或 --quiet) :静默模式(精简控制台输出),默认为 false

  • -c(或 --clean):清理离线目录,默认为 false

  • -od(或 --offline-dir):基本离线目录,默认为 ./offline

  • -s(或 --settings):自定义 Maven settings.xml 的路径,声明代理设置、Maven 存储库

  • -m(或 --maven):Maven 版本,用于构建示例,默认为 3.3.3

  • -u (或 --url):Quickstarts 搜索 URL,匹配 Searchisko 格式。(例如 此查询

项目示例 XML 描述符格式

xml 描述符格式没有 XSD,但应该包含 project 节点列表。3 个可能 importType

  • zip(默认,所以可选):示例定义将下载并解压缩的 zip 文件的 URL;

  • maven:示例定义将下载、解压缩并通过 Maven 构建的 zip 文件的 URL

  • mavenArchetype:示例包含 Maven archetype 的 Maven 坐标(组 ID、构件 ID、版本)。将基于该 archetype 构建项目。

以下内容提供描述符中支持的 3 种项目类型的示例

<projects>
  <project>
    <!-- importType>zip</importType -->
    <url>http://foo/bar/example.zip</url>
  </project>
  <project>
    <importType>maven</importType>
    <url>http://foo/bar/maven-example.zip</url>
  </project>
  <project>
    <importType>mavenArchetype</importType>
    <mavenArchetype>
      <archetypeGroupId>some.groupId</archetypeGroupId>
      <archetypeArtifactId>some.artifactId</archetypeArtifactId>
      <archetypeVersion>X.Y.Z</archetypeVersion>
    </mavenArchetype>
  </project>
   ...
</projects>

已排除的示例

一些旧示例已从项目构建列表中排除,因为它们已损坏。此列表以硬编码形式包含在 go_offine.groovy 脚本中。你可能需要在某个时间手动编辑它。

  • jboss-errai-kitchensink-archetype,

  • picketlink-authorization-drools,

  • jboss-push-contacts-mobile-android,

  • jboss-push-helloworld-android,

  • cdi-scopes-portlet,

  • jsf2-rf4-hello-world-portlet,

  • cdi-jsf-portlet,

  • page-composition-api-portlet,

  • sample-portal,

  • cdi-generic-portlet,

  • navigation-api-portlet,

  • simplest-hello-world-portlet,

  • portal-extension,

  • jsf2-hello-world-portlet,

  • social-portlets,

  • jboss-servlet-security-genericheader-auth

返回顶部