Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何安装Wicket框架?_Java_Wicket - Fatal编程技术网

Java 如何安装Wicket框架?

Java 如何安装Wicket框架?,java,wicket,Java,Wicket,如何安装Wicket框架?请引导我 确保安装了maven2,然后转到,从那里复制命令行并运行它。这将创建一个带有演示应用程序和页面的项目,您可以将其导入您喜爱的IDE中并使用。以下是几个月前我为安装Wicket而编写的分步说明。他们列出了我在安装了Eclipse的香草机上设置Wicket所做的一切 下载JDK 6_22 下载Maven 3.01 已将JDK安装到C:\Program Files\Java\jdk1.6.0\U 22 将maven解压缩到C:\Program Files\apa

如何安装Wicket框架?请引导我

确保安装了maven2,然后转到,从那里复制命令行并运行它。这将创建一个带有演示应用程序和页面的项目,您可以将其导入您喜爱的IDE中并使用。

以下是几个月前我为安装Wicket而编写的分步说明。他们列出了我在安装了Eclipse的香草机上设置Wicket所做的一切


  • 下载JDK 6_22
  • 下载Maven 3.01
  • 已将JDK安装到C:\Program Files\Java\jdk1.6.0\U 22
  • 将maven解压缩到C:\Program Files\apache-maven-3.0.1

  • 更新的系统环境变量:

    • M2

      C:\Program Files\apache-maven-3.0.1
    • M2\u HOME

      %M2\U HOME%\bin=C:\Program Files\apache-maven-3.0.1\bin
    • JAVA_HOME

      C:\ProgramFiles\Java\jdk1.6.0\U 22
    • M2\u回购

      C:\Users\[username]\.m2\存储库(具体路径因您的用户名/Windows版本而异)

  • 按照中的说明生成此Maven命令:

    mvn archetype:create
    -DarchetypeGroupId=org.apache.wicket
    -DarchetypeArtifactId=wicket-archetype-quickstart
    -DarchetypeVersion=1.4.1
    -DgroupId=com.mycompany
    -DartifactId=projName
    
  • 从命令行在Maven命令上方运行

  • 相关文件,包括Wicket source,都是基于POM自动下载的
  • 运行
    mvneclipse:eclipse
    以基于上述内容创建一个eclipse项目
  • 使用
    File>Import…、现有项目将项目导入Eclipse

  • 在测试文件夹中运行
    Start.java
    ,发现测试应用程序已启动并运行在
    http://localhost:8080

可选:支持第三方代码,如Wicket扩展
手动将Wicket Extensions JAR文件添加到
M2\u REPO
目录将不起作用

相反,在更新POM后运行
mvn clean dependency:copy dependencies
。(Wicket Extensions包含在默认POM中,但在默认POM中被注释掉。)然后使用
添加变量…
(而不是
添加JAR
),在Eclipse中配置构建路径,选择
M2\u REPO
,按
Extend
,找到所需的JAR(在本例中为Wicket Extensions)

类似的程序也适用于其他第三方库


我本来打算继续更新更多的说明,但最近我一直在做其他事情。不过,我希望最终能够了解如何使用Tomcat配置Wicket,而不是仅仅依赖它附带的jetty服务器

更新 部署到Tomcat的说明如下:

  • 下载、安装并安装

  • 创建以下目录结构:

    \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!"));
    }
}
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;
    }
}
HelloWorld.html

<html>
<head>
<title>Wicket Tomcat test title</title>
</head>
<body>
    <span wicket:id="message">Message goes here</span>
</body>
</html>
<?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
-->
<?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>

Wicket Tomcat测试标题
信息就在这里
HelloWorldApplication.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!"));
    }
}
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;
    }
}
package com.HelloWicket;
导入org.apache.wicket.Page;
导入org.apache.wicket.protocol.http.WebApplication;
公共类HelloWorldApplication扩展了WebApplication{
公共HelloWorldApplication(){
}
/**
*@see org.apache.wicket.Application#getHomePage()
*/
@凌驾
公共课
org.apache.wicket.protocol.http.WicketFilter
应用程序类名
com.HelloWicket.HelloWorldApplication
HelloWicket
/* 
build.xml

<html>
<head>
<title>Wicket Tomcat test title</title>
</head>
<body>
    <span wicket:id="message">Message goes here</span>
</body>
</html>
<?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
-->
<?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>

向本地Tomcat部署.war

正如我对原始答案所做的那样,我发布了一个更具解释性的答案版本,但这应该足以让您继续。

如果您想将wicket与其他框架(Spring、JPA、Hibernate、Guice等)一起使用,您可以在此页面生成示例maven命令:

对于每个原型,您都会得到一个简单功能的示例项目,可以作为进一步开发的基础。


以下是创建Wicket quickstart项目的一些信息。

谢谢您的回复。您能告诉我如何在Fedora操作系统中安装吗?@Anto,对不起,我不熟悉在Fedora上安装Wicket。如果您有其他要求,请将其编辑到您的问题中,而不是告诉人们“指导您”您好,我已经尝试了上述步骤,但我没有正确执行。当我尝试执行mvn命令时,它显示未找到命令。我仍然更新了环境变量,但怀疑这些环境变量是否必须在“路径”中创建或更新变量?我必须下载Maven源代码或二进制格式?所有主要的linux发行版的存储库中都应该有Maven。也许您可以通过尝试yum install maven2获得一个正常的安装。@Anto,同样,这些是Windows sp