2013-04-16 141 views
3

我正在嘗試使用檢票口創建一個web應用程序。這是我所遵循的步驟:檢票口異常開始過濾器檢票口

  1. 我創建使用此命令Maven項目:

    MVN原型:產生-DarchetypeGroupId = org.apache.wicket -DarchetypeArtifactId =檢票原型 - 快速入門 - DarchetypeVersion = 6.6.0 -DgroupId = com.mycompany -DartifactId = myproject的-DarchetypeRepository = https://repository.apache.org/ -DinteractiveMode =假

  2. 我導入項目到eclipse

  3. 我啓用了Maven的依賴關係與右鍵點擊
  4. 我將我的項目到一個web項目,並設置一個Tomcat 7服務器
  5. 通過右鍵單擊我跑這個服務器上的項目,生產的消息:HTTP Status 404 - The requested resource is not available.

這對錯誤信息控制檯:

SEVERE: Exception starting filter wicket.myproject 
java.lang.ClassNotFoundException: org.apache.wicket.protocol.http.WicketFilter 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) 
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260) 
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4656) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5309) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:722) 

現在,這裏是我的pom.xml:

http://maven.apache.org/maven-v4_0_0.xsd「> 4.0.0 com.amadeus RDA_2 戰爭 1.0快照 快速入門

<licenses> 
    <license> 
     <name>The Apache Software License, Version 2.0</name> 
     <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> 
     <distribution>repo</distribution> 
    </license> 
</licenses> 
<properties> 
    <wicket.version>6.6.0</wicket.version> 
    <jetty.version>7.6.3.v20120416</jetty.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
<dependencies> 
    <!-- WICKET DEPENDENCIES --> 
    <!-- <dependency> 
     <groupId>org.apache.wicket</groupId> 
     <artifactId>wicket-core</artifactId> 
     <version>${wicket.version}</version> 
    </dependency> 
    OPTIONAL DEPENDENCY 
    <dependency> 
     <groupId>org.apache.wicket</groupId> 
     <artifactId>wicket-extensions</artifactId> 
     <version>${wicket.version}</version> 
    </dependency> 
    --> 

    <dependency> 
     <groupId>org.apache.wicket</groupId> 
     <artifactId>wicket-core</artifactId> 
     <version>${wicket.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.wicket</groupId> 
     <artifactId>wicket-extensions</artifactId> 
     <version>${wicket.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.wicket</groupId> 
     <artifactId>wicket-devutils</artifactId> 
     <version>${wicket.version}</version> 
    </dependency> 


    <!-- LOGGING DEPENDENCIES - LOG4J --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.6.4</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.16</version> 
    </dependency> 


    <!-- JUNIT DEPENDENCY FOR TESTING --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.10</version> 
     <scope>test</scope> 
    </dependency> 

    <!-- JETTY DEPENDENCIES FOR TESTING --> 
    <dependency> 
     <groupId>org.eclipse.jetty.aggregate</groupId> 
     <artifactId>jetty-all-server</artifactId> 
     <version>${jetty.version}</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>wicket</groupId> 
     <artifactId>wicket</artifactId> 
     <version>1.2.7</version> 
    </dependency> 
</dependencies> 
<build> 
    <resources> 
     <resource> 
      <filtering>false</filtering> 
      <directory>src/main/resources</directory> 
     </resource> 
     <resource> 
      <filtering>false</filtering> 
      <directory>src/main/java</directory> 
      <includes> 
       <include>**</include> 
      </includes> 
      <excludes> 
       <exclude>**/*.java</exclude> 
      </excludes> 
     </resource> 
    </resources> 
    <testResources> 
     <testResource> 
      <filtering>false</filtering> 
      <directory>src/test/resources</directory> 
     </testResource> 
     <testResource> 
      <filtering>false</filtering> 
      <directory>src/test/java</directory> 
      <includes> 
       <include>**</include> 
      </includes> 
      <excludes> 
       <exclude>**/*.java</exclude> 
      </excludes> 
     </testResource> 
    </testResources> 
    <plugins> 
     <plugin> 
      <inherited>true</inherited> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <encoding>UTF-8</encoding> 
       <showWarnings>true</showWarnings> 
       <showDeprecation>true</showDeprecation> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>${jetty.version}</version> 
      <configuration> 
       <connectors> 
        <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
         <port>8080</port> 
         <maxIdleTime>3600000</maxIdleTime> 
        </connector> 
        <connector implementation="org.eclipse.jetty.server.ssl.SslSocketConnector"> 
         <port>8443</port> 
         <maxIdleTime>3600000</maxIdleTime> 
         <keystore>${project.build.directory}/test-classes/keystore</keystore> 
         <password>wicket</password> 
         <keyPassword>wicket</keyPassword> 
        </connector> 
       </connectors> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-eclipse-plugin</artifactId> 
      <version>2.9</version> 
      <configuration> 
       <downloadSources>true</downloadSources> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

<repositories> 
    <repository> 
     <id>Apache Nexus</id> 
     <url>https://repository.apache.org/content/repositories/snapshots/</url> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </repository> 
</repositories> 
</project> 

這裏是我的web.xml:

<filter> 
    <filter-name>wicket.myproject</filter-name> 
    <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> 
    <init-param> 
     <param-name>applicationClassName</param-name> 
     <param-value>com.mycompany.WicketApplication</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>wicket.myproject</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

誰能幫我請????

+0

嘗試運行'MVN安裝',刷新工作區,然後再次運行tomcat。有時候,對於某些版本的m2e,在你手動運行構建之前,Eclipse不會獲得罐子。 – tetsuo

+1

請參閱我對以下答案的評論。嘗試在沒有日蝕的情況下運行,你可能會更好地一起拋開eclipse;) – bert

+0

@tetsuo運行mvn安裝後,我從JUnit中得到這個錯誤:wicket.Initializer不能轉換爲組織。apache.wicket.IInitializer – enzo

回答

0

你是否改變了你的POM?此類屬於wicket-core,快速入門添加了這個:

<dependency> 
    <groupId>org.apache.wicket</groupId> 
    <artifactId>wicket-core</artifactId> 
    <version>6.6.0</version> 
</dependency> 

檢查這一聲明是在你的pom.xml

+0

我檢查了我的pom.xml。 – enzo

+0

@enzo你可以更新包括你的'pom.xml'和'web.xml'的問題嗎? –

+0

嘗試使用maven構建項目(mnv clean package)並在tomcat中部署(複製到webapp文件夾)。我懷疑日食在這裏做了一些愚蠢的事情,所以先消除這個問題的源頭 – bert

7

晚了一點,但這裏是解決了這個問題:

右鍵單擊項目 - >屬性 - >部署大會

確保項目庫部署到WEB-INF/lib文件夾。在我的情況有根本沒有圖書館,所以我不得不按

添加,添加他們 - > Java構建路徑條目

並選擇庫(那些之中檢票庫)

+0

或者添加「Maven Dependencies」Lib,幫助我。 –

+0

在部署程序集上添加Maven依賴關係也適用於我。 – adimoldovan