Apache Wicket 1.4 发布了

  • Dio Synodinos
  • 张龙

2009 年 8 月 24 日

话题:JavaWeb框架语言 & 开发

近日 Apache Wicket 项目发布了 1.4 版,这是一个开源、面向组件的 Java Web 应用框架,同时该版本对 JDK 的要求也首次提升到了 Java 5+,这样就可以充分利用 Java 5 的新特性如泛型等来增强 API 的类型安全性。

尽管 1.4 版中有几个重大的变化,但其与 1.3 的兼容性还是非常不错的,因此我们可以将应用平滑地移植到最新版

纵观该版本的各种变化,以下列出的是最重要的一些内容:

  • 泛型的 IModel 接口及其实现增强了 Wicket 应用的类型安全性。
  • 将 Component#getModel() 及 Component#setModel() 更名为 getDefaultModel() 和 setDefaultModel() 以便更好地支持泛型模型。
  • 整合了 Spring module(wicket-spring-annot 已被废弃,现在只需 wicket-spring 了)。
  • 修改了很多 API 以更好地利用 Java 5 的新特性。
  • 现在 Wicket jars 与元数据打包在一起成为 OSGi bundle 了。

现在可以手工下载该版本,也可以通过 Maven 获取:

<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket</artifactId>
    <version>1.4.0</version>
</dependency> 

Arun Gupta 介绍了其升级到 1.4 的过程

你可能会遇到下面这个错误:

2009-08-05 05:58:49.387::INFO: No Transaction manager found - if your webapp requires one, please configure one.
ERROR - DiskPageStore - Couldn't load DiskPageStore index from file /Users/arungupta/workspaces/runner~subversion/wicket/runner/target/work/wicket.runner-filestore/DiskPageStoreIndex.
java.lang.ClassNotFoundException: org.apache.wicket.util.concurrent.ConcurrentHashMap
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:319)



幸好,解决办法不难而且也很直观。不要运行“mvn jetty:run“,请运行下面这个命令:

mvn clean jetty:run



”clean“会清除掉项目中对旧版 Wicket jars 的引用!

Mystic Coders 也为其教程”Wicket 5 日通“发布了一个1.4 版的升级指南

大家可以从 InfoQ 上获取关于Wicket及其他框架的更多信息!

查看英文原文:Apache Wicket 1.4 Released

JavaWeb框架语言 & 开发