Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Mirror of Apache Wicket

branch: master
Octocat-spinner-32 .settings removed eclipse format settings November 05, 2013
Octocat-spinner-32 archetypes Whitespace fixes November 29, 2013
Octocat-spinner-32 licenses WICKET-3697 clean up of NOTICE files and removal of obsolete license … May 10, 2011
Octocat-spinner-32 testing Rename groupId because a '.' is a special character in Maven April 19, 2014
Octocat-spinner-32 wicket-auth-roles WICKET-5557 Don't cache the result of AuthenticatedWebApplication#get… April 14, 2014
Octocat-spinner-32 wicket-bean-validation WICKET-5506 DefaultPropertyResolver should resolve the Property accor… March 05, 2014
Octocat-spinner-32 wicket-cdi-1.1 Don't lookup twice the active request handler. February 19, 2014
Octocat-spinner-32 wicket-cdi removed eclipse format settings November 05, 2013
Octocat-spinner-32 wicket-core Minor improvements in the javadoc April 17, 2014
Octocat-spinner-32 wicket-datetime no need private methods to be final March 27, 2014
Octocat-spinner-32 wicket-devutils Minor improvements in Wicket's HTML March 27, 2014
Octocat-spinner-32 wicket-examples Rename groupId because a '.' is a special character in Maven April 19, 2014
Octocat-spinner-32 wicket-experimental Rename groupId because a '.' is a special character in Maven April 19, 2014
Octocat-spinner-32 wicket-extensions WICKET-5555 AbstractAutoCompleteBehavior.WrappedHeaderItem should dep… April 14, 2014
Octocat-spinner-32 wicket-guice Make inner classes static where possible March 06, 2014
Octocat-spinner-32 wicket-ioc WICKET-4744 Investigate reworking WicketObjects#clone(Object|Model) m… January 17, 2014
Octocat-spinner-32 wicket-jmx Use Java 7 multicatch March 24, 2014
Octocat-spinner-32 wicket-native-websocket WICKET-5548 Websocket initialization URL is not valid when filter is … April 02, 2014
Octocat-spinner-32 wicket-objectssizeof-agent removed eclipse format settings November 05, 2013
Octocat-spinner-32 wicket-request WICKET-831 Return response status 404 when a mapper cannot decode a r… February 20, 2014
Octocat-spinner-32 wicket-spring Return null instead of throwing null. March 06, 2014
Octocat-spinner-32 wicket-util no need private methods to be final March 27, 2014
Octocat-spinner-32 wicket-velocity removed eclipse format settings November 05, 2013
Octocat-spinner-32 wicket removed eclipse format settings November 05, 2013
Octocat-spinner-32 .gitignore Release scripts for milestone releases April 18, 2014
Octocat-spinner-32 .travis.yml Add conf file for Travis CI to execute the JS tests on each commit. September 30, 2013
Octocat-spinner-32 CHANGELOG-6.x Added release notes for 6.8 (seems to be forgotten) and 6.9 June 23, 2013
Octocat-spinner-32 Gruntfile.js Add all Gym tests as targets to Grunt's JSHint task February 17, 2014
Octocat-spinner-32 LICENSE Added license to root April 10, 2007
Octocat-spinner-32 NOTICE Update the year in NOTICE to 2012 March 07, 2012
Octocat-spinner-32 README README fixes May 09, 2012
Octocat-spinner-32 package.json Pull Request #63 - Update versions in package.json and restate the co… December 05, 2013
Octocat-spinner-32 Added release script for bug releases July 08, 2013
Octocat-spinner-32 pom.xml Merge branch 'master' of April 19, 2014
Octocat-spinner-32 Release script output updated to reflect reality April 12, 2013
Octocat-spinner-32 tweakign build script January 10, 2012
Octocat-spinner-32 Don't forget to release correct version of parent April 18, 2014
Octocat-spinner-32 Release scripts for milestone releases April 18, 2014
Octocat-spinner-32 WICKET-3697 clean up of NOTICE files and removal of obsolete license … May 10, 2011
Octocat-spinner-32 Added and updated revert release script April 18, 2014
Octocat-spinner-32 wicket-assembly-all.xml tweak assembly to include core module February 21, 2011
Apache Wicket 6.0

This is the readme file for the Apache Wicket project. 

Apache Wicket is an open source, java, component based, web application
framework. With proper mark-up/logic separation, a POJO data model, and a
refreshing lack of XML, Apache Wicket makes developing web-apps simple and
enjoyable again. Swap the boilerplate, complex debugging and brittle code for
powerful, reusable components written with plain Java and HTML.

Apache Wicket can be found at: and is licensed under
the Apache Software Foundation license, version 2.0.

 - License
 - Java/Application server requirements
 - What is in this package
 - Getting started
 - Dependencies
 - Building Wicket from source
 - Migrating from 1.5
 - Getting help
 - Cryptographic Software Notice


Wicket is distributed under the terms of the Apache Software Foundation
license, version 2.0. The text is included in the file LICENSE in the root
of the project.

Java/Application server requirements

Wicket requires at least Java 1.6. The application server for running your web
application should adhere to the servlet specification version 2.5 or newer.
Note that your Wicket application might run on containers based on servlet
specification 2.4, but there are no guarantees.

What is in this package

The archive you just downloaded and unpacked contains the source code and the
jars of the core projects of Wicket. If you are just starting out, you
probably only need to include wicket-x.jar, where x stands for the version. As
a rule, use just the jars you need.

You will find the source code here:

	|-- apidocs
	|   |-- org
	|   `-- resources
	|-- lib
	|-- licenses
	`-- src
	    |-- archetypes
	    |-- testing
	    |-- wicket
	    |-- wicket-auth-roles
	    |-- wicket-core
	    |-- wicket-datetime
	    |-- wicket-devutils
	    |-- wicket-examples
	    |-- wicket-extensions
	    |-- wicket-guice
	    |-- wicket-ioc
	    |-- wicket-jmx
	    |-- wicket-objectssizeof-agent
	    |-- wicket-request
	    |-- wicket-spring
	    |-- wicket-util
	    `-- wicket-velocity

Here is a list of projects in this distribution and what they do.

 - wicket: the core project, includes the framework and basic components;
 - wicket-extensions: contains utilities and more specialized components;
 - wicket-auth-roles: a basic authorization package based on roles;
 - wicket-datetime: contains date/ time specific components such as a date
 - wicket-jmx: registers JMX beans for managing things like your Wicket 
   configuration and markup cache;
 - wicket-objectssizeof-agent: utility for making better estimates of object 
   sizes in the JVM - most people probably never need this;
 - wicket-ioc: base project for IoC (aka DI) implementations such as 
   Spring and Guice;
 - wicket-spring: support project for using Spring with Wicket and including 
   Spring managed dependencies through using @SpringBean annotations;
 - wicket-guice: support project for using Google Guice with Wicket;
 - wicket-velocity: contains special components for rendering Velocity
   templates using Wicket components - most people probably don't need this,
   but it can be neat when you want to do CMS-like things;
 - wicket-examples: contains a basic component reference and many examples of 
   how to use Wicket and Wicket components, including examples for sub 
   projects such as wicket-spring, wicket-velocity and wicket-auth-roles.
 - wicket-devutils: provides small utilities which can help in development

Getting started

The Wicket project has several projects where you can learn from, and get
started quickly:

 - wicket-examples:

    shows all components in short usage examples, also available live on:

 - wicket-quickstart archetype:

    provides a skeleton project for use in NetBeans, Eclipse, IntelliJ IDEA
    and other major IDE's, without having to configure anything yourself. You
    can copy'n'paste the examples from the website into your pages and see
    them running on your own box.

 - AppFuse light - Wicket edition (

    AppFuse Light is a can all do it all quickstart setup for almost all
    possible permutations for building Java web applications and ORM
    technologies. It features over 60 downloads and combines each available
    web application framework with Hibernate, iBatis, JDO (JPOX), OJB and
    Spring JDBC.


The easiest way of getting the dependencies of your Wicket based projects
right is to use Apache Maven ( with your projects and
include the wicket dependencies you want is outlined in the wicket-quickstart.
Maven will then take care of including the appropriate dependencies.

If you do not want to use maven, here is a break down of the dependencies you
need. For the complete and precise reference see the wicket-parent pom.xml in
the src/ folder.

 - wicket and wicket-extensions:

    You only need to include the Servlet API (2.5, just for compiling), SLF4J
    API and the SLF4J logging implementation you want. You cannot use Wicket
    without adding a SLF4J logging implementation to your classpath. Most
    people use log4j. If you do, just include slf4j-log4j12.jar on your
    classpath to get Wicket to use log4j too. If you want to use
    commons-logging or JDK14 logging or something else, please see the SLF4J
    site ( for more information.

	As the following projects all depend on wicket, they inherit these

 - wicket-datetime:

 	Joda-Time 1.6 (

 - wicket-velocity:

    Apache Velocity 1.7 ( and it's dependencies
    (it ships a velocity-deps jar for convenience)

 - wicket-ioc:

    cglib nodep 2.1.3 ( and 
    asm 1.5.3 (

 - wicket-spring:

    wicket-ioc and Spring ( and it's

 - wicket-guice:

    Google Guice (

 - wicket-examples:

    All of the above.

Building Wicket from source

The Wicket distribution contains the final Wicket jar. You can use this
directly in your applications. The Wicket project also uploads the source 
and JavaDoc jars as well as the final jar to the Maven repository used by
the Maven build tool. So there is actually no specific need to build Wicket
yourself from the distribution.

Building using Maven 2 or 3, change the working directory to src and either

 - mvn package

    creates wicket-x.y.z.jar in target/ subdirectory.

 - mvn install

    creates wicket-x.y.z.jar in target/ subdirectory and installs the file
    into your local Maven repository for use in other projects.

Migrating from 1.5

This file is a copy of the migration guide from available on our Wiki:
Getting help

 - Read the online documentation available on our website

 - Read the migration guide (migration-to-wicket-60.html)

 - Read the mailing archives available on Nabble, GMane and Apache

 - Send a complete message containing your problem, stacktrace and problem
   you're trying to solve to the user list (

 - Ask a question on IRC at, channel ##wicket

Cryptographic Software Notice

This distribution includes cryptographic software. The country in which you
currently reside may have restrictions on the import, possession, use, and/or
re-export to another country, of encryption software. BEFORE using any
encryption software, please check your country's laws, regulations and
policies concerning the import, possession, or use, and re-export of
encryption software, to see if this is permitted. See
for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security
(BIS), has classified this software as Export Commodity Control Number (ECCN)
5D002.C.1, which includes information security software using or performing
cryptographic functions with asymmetric algorithms. The form and manner of
this Apache Software Foundation distribution makes it eligible for export
under the License Exception ENC Technology Software Unrestricted (TSU)
exception (see the BIS Export Administration Regulations, Section 740.13) for
both object code and source code.

The following provides more details on the included cryptographic software:

For encoding HTTP URL data (see org.apache.wicket.core.request.mapper.CryptoMapper)
Wicket requires the Java Cryptography extensions
( Wicket does not include
these libraries itself, but is designed to use them.
Something went wrong with that request. Please try again.