2012-06-24 3 views
0

Перед выполнением динамического веб-проекта в Eclipse возникает проблема. Я создал проект Maven (archtype - webapp), а затем добавил в него поведение DWP, добавив maven-eclipse-plugin (версия 2.9). Я добавил свои проект зависимостей в POM файл, который является следующимТранзитивные зависимости, не разрешенные во время выполнения в eclipse wtp

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>au.com.fairfaxdigital</groupId> 
    <artifactId>accessloganalyzer</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>accessloganalyzer Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.0.1</version> 
     </dependency> 
     <dependency> 
      <groupId>net.sourceforge.wurfl</groupId> 
      <artifactId>wurfl</artifactId> 
      <version>1.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi</artifactId> 
      <version>3.8</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
    <repositories> 
     <repository> 
      <id>scientiamobile.public</id> 
      <name>Scientia Mobile Public repository</name> 
      <url>http://dev.scientiamobile.com/nexus/content/repositories/public-releases/</url> 
     </repository> 
    </repositories> 
    <build> 
     <finalName>accessloganalyzer</finalName> 

     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-eclipse-plugin</artifactId> 
       <version>2.9</version> 
       <configuration> 
        <projectNameTemplate>accessloganalyzer-${project.version}</projectNameTemplate> 
        <downloadSources>true</downloadSources> 
        <downloadJavadocs>true</downloadJavadocs> 
        <wtpmanifest>true</wtpmanifest> 
        <wtpapplicationxml>true</wtpapplicationxml> 
        <wtpversion>2.0</wtpversion> 
        <manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF</manifest> 
       </configuration> 
      </plugin> 

     </plugins> 
    </build> 
</project> 

Затем создаст проект, используя команду Maven (чистую установку). Я мог видеть сгенерированный файл войны в целевой папке. При попытке запустить это приложение на tomcat в eclipse (project-> right click-> run one server) tomcat начинается с ошибки.

SEVERE: Exception sending context initialized event to listener instance of class net.sourceforge.wurfl.core.web.WURFLServletContextListener java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils at net.sourceforge.wurfl.core.web.WURFLServletContextListener.contextInitialized(WURFLServletContextListener.java:81) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1581) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533) ... 15 more Starting Introspector initialization...

Когда я смотрю в Eclipse, папку, откуда запускается Tomcat приложение (C: \ Дипак \ Study \ Dev \ Практические \ workspace.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps \ accessloganalyzer-1.0-SNAPSHOT), я не нашел никаких зависимостей (включая commons-lang, на которые ссылается ошибка) для сторонней библиотеки wurfl.1.4.jar, которую я использую в своем проекте.

библиотека WURFL использует следующую зависимость, которые не присутствуют в WEB-INF/Lib и, следовательно, вызывает проблему

  • фонд-коллекция 3.2.1-
  • Обще-лан-2,6
  • джексон -core-ASL-1.8.2
  • ДЖЕКСОНА-картографа-ASL-1.8.2
  • Logback-классическом 0.9.28
  • Logback-ядро-0.9.28
  • SLF4J-апи-1.6.1

Может ли один пожалуйста, указать, что я не хватает, почему эти переходные зависимости не копируются в WEB-INF/Lib папки в файле WAR приложения?

+0

Вы используете m2e? Если да, то вам не нужен плагин eclipse? Вы уверены в версии версии librere версии 1.4? – khmarbaise

+0

hi khmarbaise, спасибо, что ответили на эту тему. Я попытался удалить плагин eclipse, но результат тот же. Да, я уверен в wurff 1.4. Я загрузил эту библиотеку с сайта wurfl и установил ее вручную, используя команду maven для ручной установки. – user1477713

ответ

1

Установить m2e wtp плагин. Этот плагин можно установить с Eclipse Marketplace (Справка -> Eclipse Marketplace ...). Это должно сделать вам большую часть пути. Затем вы увидите свои зависимости, в которых вы ожидаете.

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