JBoss Tools 中的快速增量打包

发布者:    |       JBoss Tools

我在 JBoss Tools 中最喜欢的功能之一是 项目存档,它可以将任意目录自动且增量地存档为压缩归档(jar、zip、war 等)或展开目录。适用于任何需要热部署和/或展开部署的开发。

docs.jboss.org 上有可用的 屏幕演示,但如果你想了解细节,请阅读以下内容...

项目存档视图

要开始使用它,您需要打开 项目存档 视图,选择一个项目,然后在视图中右键单击以添加您想要的 jar 类型(每个项目可以定义多个存档)。

在出现的对话框中,您指定存档的名称、位置以及文件夹是否应该存档/压缩或展开。

工具将根据存档类型和项目文件给出一个 最佳猜测,以确定您想要包含在存档中的文件。当然,您可以在之后自由地自定义它。

按下“确定”后,您将能够在 Eclipse 中看到生成的存档或文件夹,或者如果您将其配置为使用文件系统,则可以使用您最喜欢的文件浏览器查看结果。

自动增量打包

首次通过 项目存档 视图定义后,JBoss Tools 将自动监控更改并保持存档或文件夹同步。由于更改和存档是增量完成的,因此不需要等待 Ant 或 Maven 收集各种工件并进行完整存档。

我建议观看 屏幕演示,以了解这项工作有多么简单和快速。

展开的 jar

展开存档支持允许您与任何支持所谓 展开部署 的服务器(通常与许多 Java 和非 Java 服务器一起使用)一起使用 - 因此,这绝不仅仅限于 JBoss 服务器或 Java 技术;任何需要将一组文件复制到目录或存档的技术都将能够从这项功能中受益。

关于 JBossIDE 打包怎么办?

JBossIDE 1.x 曾具有类似功能,它依赖于生成 Ant 脚本并执行 Ant 来完成实际打包。

新项目归档的优势在于,它不需要等待 Ant 运行,而是每次不再进行完整的构建/重新打包压缩归档,现在我们可以增量地进行,并可选择展开形式。

要从 JBossIDE 打包迁移到 JBoss Tools 归档,您可以使用我们在 download.jboss.org 提供的转换工具。

转换过程就像

java -jar packaging-converter.jar /path/to/.packaging

Ant 和 Maven

为了避免在 JBoss Tools 和您最喜欢的构建系统两次指定打包方式,我们添加了一个 Ant 任务,允许您从 Eclipse 外部使用它。

以下是如何使用它的示例

<property name="studio.home" location="${eclipse.home}/../studio/eclipse"/>

 <path id="generate-archives-classpath">
  <fileset dir="${eclipse.home}/plugins">
   <include name="org.eclipse.equinox.common_*.jar"/>                                    
  </fileset>
  <fileset dir="${studio.home}">
   <include name="plugins/org.jboss.ide.eclipse.archives.core**/archivescore.jar"/>
   <include name="plugins/org.jboss.ide.eclipse.archives.core**/lib/*.jar"/>         
  </fileset>
</path>
                 
 <taskdef name="generate-archives" classpathref="generate-archives-classpath"       
classname="org.jboss.ide.eclipse.archives.core.ant.GenerateArchivesTask"/>
         
<target name="run-packaging">
 <!-- each project needs to have their root dir defined when running outside eclipse -->
 <property name="pojp.dir" value="C:/Users/max/workspace/pojp"/>
 <generate-archives projectPath="C:/Users/max/workspace/pojp"/>
</target>

结语

感谢 Rob 向我展示 Ant 任务的工作方式,以及 Marshall 准备好转换脚本。我们希望在未来版本中将它更直接地集成到 JBoss Tools 中。

如果您想看到这个功能在实际中的应用,下周请到 JavaPolis 的 JBoss/Red Hat 展台找到我。


返回顶部