Как я могу установить фреймворк Wicket? - PullRequest
7 голосов
/ 14 февраля 2011

Как мне установить фреймворк Wicket?Пожалуйста, ведите меня!

Ответы [ 4 ]

9 голосов
/ 14 февраля 2011

Вот пошаговые инструкции, которые я собрал несколько месяцев назад для установки Wicket. Они перечисляют все, что я сделал, чтобы настроить Wicket на ванильный компьютер с установленным Eclipse.


  • Скачано JDK 6_22
  • Скачано Maven 3.01
  • Установлен JDK в C: \ Program Files \ Java \ jdk1.6.0_22
  • Распакованный файл maven в C: \ Program Files \ apache-maven-3.0.1

  • Обновлены системные переменные среды:

    • M2
      C: \ Program Files \ apache-maven-3.0.1
    • M2_HOME
      % M2_HOME% \ bin = C: \ Program Files \ apache-maven-3.0.1 \ bin
    • JAVA_HOME
      C: \ Program Files \ Java \ jdk1.6.0_22
    • M2_REPO
      C: \ Users \ [username] \. M2 \ repository (точный путь зависит от вашего имени пользователя / версии Windows)

  • Следуя инструкциям на Быстрый старт Wicket , сгенерировав эту команду Maven:

    mvn archetype:create
    -DarchetypeGroupId=org.apache.wicket
    -DarchetypeArtifactId=wicket-archetype-quickstart
    -DarchetypeVersion=1.4.1
    -DgroupId=com.mycompany
    -DartifactId=projName
    
  • Запускается над командой Maven из командной строки

  • Соответствующие файлы, включая источник Wicket, загружались автоматически на основе POM.
  • Ран mvn eclipse:eclipse для создания проекта Eclipse на основе выше
  • Импортированный проект в Eclipse с File > Import..., Existing Projects

  • Запустил Start.java в тестовой папке и обнаружил, что тестовое приложение запущено и работает на http://localhost:8080

Дополнительно: поддержка стороннего кода, такого как Wicket Extensions
Добавление JAR-файла Wicket Extensions в каталог M2_REPO вручную не будет работать.

Вместо этого запустите mvn clean dependency:copy-dependencies после обновления POM. (Расширения Wicket включены, но закомментированы в POM по умолчанию.) Затем настройте путь сборки в Eclipse с помощью Add Variables... (не Add JARs), выберите M2_REPO, нажмите Extend, найдите нужный JAR (в этом чехол, Wicket Extensions).

Аналогичная процедура должна работать для других сторонних библиотек.


Изначально я собирался обновлять эту веб-страницу дополнительными инструкциями, но в последнее время я работал над другими вещами. Однако, в конце концов, я надеюсь получить инструкции о том, как настроить Wicket с Tomcat, а не полагаться исключительно на сервер Jetty, с которым он поставляется.

UPDATE

Инструкции по развертыванию в Tomcat приведены здесь:

  • Скачать и установить Apache Tomcat и Apache Ant .

  • Создайте следующую структуру каталогов:

    \WicketTomcat
      +---src
      | +---main
      | | +---java
      | | | \---com
      | | |   \---HelloWicket
      | | |         HelloWorld.java
      | | |         HelloWorld.html
      | | |         HelloWorldApplication.java
      | | \---webapp
      | |   \---WEB-INF
      | |         web.xml
      | \---test
      |   \---java
      +---lib
      |     junit.jar
      |     log4j.jar
      |     servlet-api.jar
      |     slf4j-api.jar
      |     slf4j-log4j.jar
      |     wicket.jar
      |     wicket-extensions.jar
      +---target
        build.xml
    
  • Заполните файлы следующим образом:

HelloWorld.java

package com.HelloWicket;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;

public class HelloWorld extends WebPage {
    public HelloWorld() {
        add(new Label("message", "Hello, Wicket!"));
    }
}

HelloWorld.html

<html>
<head>
<title>Wicket Tomcat test title</title>
</head>
<body>
    <span wicket:id="message">Message goes here</span>
</body>
</html>

HelloWorldApplication.java

package com.HelloWicket;

import org.apache.wicket.Page;
import org.apache.wicket.protocol.http.WebApplication;

public class HelloWorldApplication extends WebApplication {
    public HelloWorldApplication() {
    }

    /**
     * @see org.apache.wicket.Application#getHomePage()
     */
    @Override
    public Class<? extends Page> getHomePage() {
        return HelloWorld.class;
    }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
    <display-name>Extremely simple example of deploying Wicket on Tomcat</display-name>
    <context-param>
        <param-name>configuration</param-name>
        <param-value>development</param-value> <!-- Wicket mode (development or deployment) -->
    </context-param>
    <filter>
        <filter-name>HelloWicket</filter-name> <!-- To be used in filter-mapping > filter-name below -->
        <filter-class>
            org.apache.wicket.protocol.http.WicketFilter
        </filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>
                com.HelloWicket.HelloWorldApplication <!-- Fully qualified name of WebApplication class -->
            </param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>HelloWicket</filter-name> <!-- Must match filter > filter-name above -->
        <url-pattern>/*</url-pattern> <!-- Take control of all URLs that start with http://localhost:8080/HelloWicket/  -->
    </filter-mapping>
</web-app>

<!--
After deploying to Tomcat, access with http://localhost:8080/HelloWicket/.

Source: http://wicket.apache.org/learn/examples/helloworld.html
-->

build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project default="war" name="HelloWicket" basedir=".">
    <property name="final.name" value="HelloWicket" />
    <property name="src.main.dir" value="src/main/java" />
    <property name="src.test.dir" value="src/test/java" />
    <property name="src.web.dir" value="src/main/webapp" />
    <property name="lib.dir" value="lib" />
    <property name="build.dir" value="target" />
    <property name="build.main.classes" value="${build.dir}/classes" />
    <property name="build.test.classes" value="${build.dir}/test-classes" />
    <property name="build.test.reports" value="${build.dir}/test-reports" />
    <property name="build.reports.dir" value="${build.dir}/reports" />
    <property name="tomcat.dir" value="..\..\..\..\Program Files\Apache Software Foundation\apache-tomcat-7.0.22\webapps" />

    <path id="build.classpath">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar" />
        </fileset>
    </path>
    <target name="clean">
        <delete dir="${build.dir}" failonerror="false" />
        <delete file="${final.name}.war" failonerror="false" />
    </target>
    <target name="init">
        <mkdir dir="${build.dir}" />
    </target>
    <target name="compile" depends="init">
        <mkdir dir="${build.main.classes}" />
        <javac destdir="${build.main.classes}" target="1.6" source="1.6" srcdir="${src.main.dir}" classpathref="build.classpath" includeantruntime="false" />
        <copy todir="${build.main.classes}">
            <fileset dir="${src.main.dir}">
                <include name="**/*.*" />
                <exclude name="**/*.java" />
            </fileset>
        </copy>
    </target>
    <target name="test-compile" depends="compile">
        <mkdir dir="${build.test.classes}" />
        <javac destdir="${build.test.classes}" target="1.6" source="1.6" srcdir="${src.test.dir}" includeantruntime="false">
            <classpath>
                <path refid="build.classpath" />
                <pathelement path="${build.main.classes}" />
            </classpath>
        </javac>
        <copy todir="${build.test.classes}">
            <fileset dir="${src.test.dir}">
                <include name="**/*.*" />
                <exclude name="**/*.java" />
            </fileset>
        </copy>
    </target>
    <target name="test" depends="test-compile">
        <mkdir dir="${build.test.reports}" />
        <junit dir="./" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true">
            <sysproperty key="basedir" value="." />
            <formatter type="xml" />
            <classpath>
                <path refid="build.classpath" />
                <pathelement path="${build.main.classes}" />
                <pathelement path="${build.test.classes}" />
            </classpath>
            <batchtest todir="${build.test.reports}">
                <fileset dir="${src.test.dir}">
                    <include name="**/*Test*.java" />
                </fileset>
            </batchtest>
        </junit>
        <mkdir dir="${build.reports.dir}" />
        <junitreport todir="${build.reports.dir}">
            <fileset dir="${build.test.reports}">
                <include name="TEST-*.xml" />
            </fileset>
            <report format="frames" todir="${build.reports.dir}" />
        </junitreport>
    </target>
    <target name="war" depends="test">
        <war destfile="${build.dir}/${final.name}.war" webxml="${src.web.dir}/WEB-INF/web.xml">
            <lib dir="lib">
                <include name="wicket*.jar" />
                <include name="slf4j*.jar" />
                <include name="log4j*.jar" />
                <include name="servlet*.jar" />
            </lib>
            <classes dir="${build.main.classes}" />
            <fileset dir="${src.web.dir}">
                <include name="**/*" />
                <exclude name="**/web.xml" />
            </fileset>
        </war>
    </target>

    <target name="deploy" depends="war">
        <echo>Deploying .war to local Tomcat</echo>
        <copy todir="${tomcat.dir}">
            <fileset dir="${build.dir}" includes="${final.name}.war" />
        </copy>
    </target>
</project>

Как и в случае с первоначальным ответом, я разместил чуть более объяснительную версию этого ответа здесь , но этого действительно должно быть достаточно, чтобы вы начали.

7 голосов
/ 14 февраля 2011

Убедитесь, что у вас установлен maven2, затем перейдите к http://wicket.apache.org/start/quickstart.html,, скопируйте командную строку и запустите ее. Это должно создать проект с демонстрационным приложением и страницей, которую вы можете импортировать в вашу любимую среду разработки и играть с ней.

4 голосов
/ 18 декабря 2012

http://wicket.apache.org/start/quickstart.html

Вот некоторая информация для создания проекта быстрого запуска Wicket.

1 голос
/ 16 февраля 2011

Если вы хотите использовать wicket вместе с другими платформами (Spring, JPA, Hibernate, Guice, ...), вы можете сгенерировать примеры команд maven на этой странице: http://www.jweekend.com/dev/LegUp

Для каждого архетипа вы получите пример проекта с простой функциональностью, который можно использовать в качестве основы для дальнейшего развития.

...