首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JBoss ShrinkWrap

JBoss ShrinkWrap
EN

Stack Overflow用户
提问于 2012-06-28 17:18:07
回答 2查看 2.1K关注 0票数 1

在观看JBoss的一些视频教程时,我偶然发现了他们的另一个项目,名为ShrinkWrap (因为Arquillian使用它)。

在他们的项目页面上花了一段时间之后,我似乎找不到一些问题的具体答案,这似乎是一个非常新的(不成熟的)项目,它背后没有一个大的开发社区。具体地说:

  • ShrinkWrap的目的是创建内存中的罐子、战争和耳朵吗?如果是的话,我为何要这样做呢?如果没有,ShrinkWrap的目的是什么,它解决了什么问题?
  • ShrinkWrap是否触及文件系统( JAR实际上是在磁盘上创建的,还是真的100%在内存中)?如果没有,那么内存存档的价值是什么?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-30 17:41:08

拥有内存中JAR的优点之一是可以将其部署到远程JBossAS实例中,而无需将其写入文件。当你不写一个文件时,你不会编造愚蠢的临时JAR文件名,然后记得以后删除它们,等等。

一般的观点是尽可能减少对构建环境的依赖和副作用。

这个项目似乎还不成熟,但事实并非如此。开发非常活跃,社区非常广泛,人们不仅来自JBoss世界,而且来自所有主要的应用服务器社区!

票数 3
EN

Stack Overflow用户

发布于 2012-09-12 15:07:08

传统的构建过程包括将字节写入磁盘,然后由应用服务器将字节读入内存。如果您只想将您选择的应用程序服务器交给您的部署工件,那么这是一个不必要的步骤。应用程序服务器将工件看作是字节流,不管这些字节是从磁盘还是内存中提供的。使用ShrinkWrap,您可以通过编程方式构建您的工件,因此不需要涉及单独的构建过程。

除非您愿意,否则ShrinkWrap不会触摸文件系统。如果您愿意,ShrinkWrap可以使用以下代码轻松地在磁盘上生成物理档案:

代码语言:javascript
复制
WebArchive war = getArtifact();
war.as(ZipExporter.class).exportTo(new File("/tmp/myartifact.war"));

您也可以做相反的事情,将物理档案从磁盘导入内存。

Arquillian使用ShrinkWrap,但ShrinkWrap本身绝对不局限于该用例,当然可以独立使用。它可以用于例如VFS任务,甚至可以链接到现有的构建过程(如在http://blog.diabol.se/?p=122上演示)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11249749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档