Java 如何安装Wicket框架?
如何安装Wicket框架?请引导我 确保安装了maven2,然后转到,从那里复制命令行并运行它。这将创建一个带有演示应用程序和页面的项目,您可以将其导入您喜爱的IDE中并使用。以下是几个月前我为安装Wicket而编写的分步说明。他们列出了我在安装了Eclipse的香草机上设置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
- 下载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.1M2\u HOME
%M2\U HOME%\bin=C:\Program Files\apache-maven-3.0.1\binJAVA_HOME
C:\ProgramFiles\Java\jdk1.6.0\U 22M2\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自动下载的
- 运行
以基于上述内容创建一个eclipse项目mvneclipse:eclipse
- 使用
File>Import…、现有项目将项目导入Eclipse
- 在测试文件夹中运行
,发现测试应用程序已启动并运行在Start.java
http://localhost:8080
手动将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
- 填写以下文件:
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