2013-04-16 5 views
3

Я пытаюсь создать веб-приложение, используя калитки. Эти шаги, я затем:wicket Исключение начального фильтра wicket

  1. Я создал Maven проект, используя следующую команду:

    МВН архетип: генерировать -DarchetypeGroupId = org.apache.wicket -DarchetypeArtifactId = калитка архетипа-QuickStart - DarchetypeVersion = 6.6.0 -DgroupId = com.mycompany -DartifactId = MyProject -DarchetypeRepository = https://repository.apache.org/ -DinteractiveMode = ложь

  2. Я импортировал проект затмить

  3. Я включил Maven зависимости с щелкните правой кнопкой мыши
  4. я преобразовал свой проект на веб-проекта и установить 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-ПАНОРАМА Quickstart

<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 install', обновить рабочее пространство, а затем снова запустить tomcat. иногда, с некоторыми версиями m2e, Eclipse не получает банки, пока вы не запустите сборку вручную. – tetsuo

+1

Смотрите мой комментарий к ответу ниже. Попробуйте бежать без затмения в пути, возможно, вам лучше всего заткнуть eclipse все вместе;) – bert

+0

@tetsuo После запуска установки mvn у меня есть эта ошибка от JUnit: wicket.Initializer не может быть передан в org.apache.wicket.IInitializer – enzo

ответ

0

Вы поменяли ваш POM? Этот класс принадлежит wicket-core, то Quickstart прибавил:

<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) и развернуть (скопировать в папку webapp) в tomcat. Я подозреваю, что eclipse делает что-то глупое, поэтому сначала устраните этот источник проблем. – bert

7

Немного поздно, но вот то, что решить эту проблему:

правой кнопкой мыши на проект -> Свойства -> Сборка Развертывание

Убедитесь, что библиотеки проекта развернуты в WEB-INF/lib. В моем случае не было библиотеки на всех, так что я должен был добавить их, нажав

Add -> Java Build Path днивниге

и выбора библиотек (калитка библиотек среди тех)

+0

Или добавьте «Maven Dependencies» Lib, который мне помог. –

+0

Добавление на место развертывания Maven Зависимости работают и на меня. – adimoldovan

Смежные вопросы