Seam的新项目负责人Shane Bryzak上周在seam-dev邮件列表上宣布,Weld Extensions项目已被纳入Seam项目旗下,并更名为Seam Solder。今天我们宣布Seam Solder的第一个版本,3.0.0.Beta1!
Seam Solder与其前身具有完全相同的宗旨和目标
一套用于开发基于CDI(JSR-299)的应用程序、框架和其他扩展的便携式CDI实用库
换句话说,这些都是你很可能最终不得不费力创建的通用工具。
为什么改变名称?
自从Weld Extensions首次提出以来,人们对它与Weld的不同之处以及与Seam项目如何搭配一直存在困惑。现在,这种区别更清晰了。
CDI是Seam 3的基础编程模型,但仍有空间为所有Seam模块共享的核心扩展和实用工具提供对齐和避免代码重复。这就是Seam Solder提供的内容。
名称的含义是什么?
我们选择“焊锡”,因为它是用于连接金属部件的合金的名称,但其强度不如焊接。例如,将模块固定到电路板上。尽管CDI扩展不需要焊锡,但它们将极大地受益于它提供的额外加固。
这不仅仅是为Seam!
焊料在缝外也有使用寿命。如果您正在构建基于CDI的项目,我们强烈建议您在花费时间编写自己的工具之前先评估焊料。焊料可以为您节省大量时间,并且您可以让您的扩展程序更快地工作。此外,我们相信我们能够在焊料中实现CDI的启动优化,这将立即为您提供好处。
关于迁移
我们并没有迁移所有Weld Extensions的资源,而是进行了彻底的分割(即,分支)。我们鼓励所有使用Weld Extensions的人切换到Seam Solder。如果您正在添加新功能或修复问题,除非有特定的原因您需要更新Weld Extensions,请将它们应用到Seam Solder。Weld Extensions实际上已经关闭。
Seam Solder为了与其他Seam模块保持一致,已经经历了一些其他变化
- 使用seam-parent进行依赖管理和常见构建任务
- 源代码分为API和实现两部分
- 主版本号提升到3(Weld Extensions的主版本号是1)
切换到Solder对其他Seam模块有重要影响。我们需要更新每个模块以使用Seam Solder并发布该模块的新版本。这一步骤应该会很快完成,因为如果检测到类路径上有Weld Extensions,Seam Solder将阻止应用程序部署。
关于发布
所有资源都可以在Seam Solder项目页面找到。为了方便您,我已经在这里列出了关键资源。
- 项目页面:Seam Solder项目页面
- Git仓库:http://github.com/seam/solder
- JIRA:http://issues.jboss.org/browse/SOLDER
- 讨论论坛:http://seamframework.org/Community/Seam3Users(我们将作为Seam的一部分进行讨论)
与所有Seam 3工件一样,Solder发布到JBoss社区仓库。如果您正在使用Maven,这里是需要添加到您的POM中的依赖声明,以便在项目中包含组合的API和实现库
<dependency> <groupId>org.jboss.seam.solder</groupId> <artifactId>seam-solder</artifactId> <version>3.0.0.Beta1</version> </dependency>
或者,您可以使用两个依赖声明,这样实现部分只在运行时使用
<dependency> <groupId>org.jboss.seam.solder</groupId> <artifactId>seam-solder-api</artifactId> <version>3.0.0.Beta1</version> </dependency> <dependency> <groupId>org.jboss.seam.solder</groupId> <artifactId>seam-solder-impl</artifactId> <version>3.0.0.Beta1</version> <scope>runtime</scope> </dependency>
如果没有Pete Muir和Stuart Douglas的辛勤工作,这个项目就不会实现。还要感谢Shane Bryzak、Nicklas Karlsson、Lincoln Baxter III和Jason Porter对他们的贡献。
[ 组合JAR ] | [ 发行版 ] | [ JIRA ] | [ API文档 ] [ 参考指南 ] | [ 发行说明 ]
注意
需要注意的是,我们仍然有一些困难让Solder在GlassFish上工作。似乎有一些关于如何处理非bean存档中的扩展的混淆(请参阅GLASSFISH-14808),这是Solder为了性能原因而使用的一个功能。我们预计GlassFish 3.1将解决这个问题,但不太可能解决GlassFish 3.0.1的问题。
以及之后
对于Beta 2,我们计划整理测试套件、合规性、文档和验证。然后我们将朝着最终版本迈进。这一切都应该很快发生。
Seam Solder 还有很多令人兴奋的功能计划。如果您想参与其中,我们鼓励您查看 问题跟踪器 并找到您感兴趣的内容。如果您在编写自己的 CDI 扩展时发现需要一些常见功能,请考虑通过添加功能请求(以及补丁!)来分享。