2010-12-01 25 views
1

Je possède des modules d'arborescence pour mon projet, serveur, client et core. Le module principal doit être importé en tant que dépendance jar dans d'autres modules. Eclipse Je ne vois pas les avertissements, mais si je commence l'application que je reçois l'erreur suivante:Module Maven en tant que dépendance à une application Web

Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [at.ac.tuwien.inso.verteilte.service.HelloServiceImpl] for bean with name 'helloServiceImpl' defined in ServletContext resource [/WEB-INF/appContext.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: at/ac/tuwien/inso/verteilte/services/IHelloService 

Caused by: java.lang.ClassNotFoundException: at.ac.tuwien.inso.verteilte.services.IHelloService 

cette interface est importée sur un HelloServiceImpl. HelloServiceImpl est créé sur les haricots comme suit:

<jaxws:endpoint id="helloService" implementorClass="at.ac.tuwien.inso.verteilte.service.HelloServiceImpl"> 

i ont supprimé les espaces de noms en raison de la protection de lien de stackoverflow :) Soit dit en passant, mes pom.xml sont de:

pour le noyau:

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <artifactId>verteiltepaxen-parent</artifactId> 
     <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
     <version>1.0-SNAPSHOT</version> 
    </parent> 
    <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
    <artifactId>core</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <name>core</name> 
    <packaging>jar</packaging> 
    <description>Verteilte Praxen - core</description> 
    <build> 
     <finalName>core-1.0-SNAPSHOT</finalName> 
    </build> 
</project> 

serveur:

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <artifactId>verteiltepaxen-parent</artifactId> 
     <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
     <version>1.0-SNAPSHOT</version> 
    </parent> 
    <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
    <artifactId>server</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <name>server</name> 
    <description>Verteilte Praxen - Server</description> 
    <dependencies> 
     <dependency> 
      <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
      <artifactId>core</artifactId> 
      <version>1.0-SNAPSHOT</version> 
      <type>jar</type> 
      <scope>compile</scope> 
      <exclusions> 
       <exclusion> 
        <artifactId>core</artifactId> 
        <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
    </dependencies> 
    <dependencyManagement> 
     <dependencies> 
     </dependencies> 
    </dependencyManagement> 
    <build> 
     <finalName>server-1.0-SNAPSHOT</finalName> 
    </build> 
</project> 

client:

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <artifactId>verteiltepaxen-parent</artifactId> 
     <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
     <version>1.0-SNAPSHOT</version> 
    </parent> 
    <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
    <artifactId>client</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <name>client</name> 
    <description>Verteilte Praxen - Client</description> 
    <dependencies> 
     <dependency> 
      <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
      <artifactId>core</artifactId> 
      <version>1.0-SNAPSHOT</version> 
      <type>jar</type> 
      <scope>compile</scope> 
     </dependency> 
    </dependencies> 
    <dependencyManagement> 
     <dependencies> 
     </dependencies> 
    </dependencyManagement> 
    <build> 
     <finalName>client-1.0-SNAPSHOT</finalName> 
    </build> 
</project> 

Et la pom mère:

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
    <artifactId>verteiltepaxen-parent</artifactId> 
    <packaging>pom</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>verteiltepaxen Maven Webapp</name> 
    <properties> 
     <cxf.version>2.2.3</cxf.version> 
     <spring.version>2.5.6.SEC02</spring.version> 
    </properties> 
    <dependencies> 
     ... other dependencies ... 
    </dependencies> 
    <repositories> 
     ... Repositories ... 
    </repositories> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-eclipse-plugin</artifactId> 
       <version>2.8</version> 
       <configuration> 
        <projectNameTemplate>verteiltepaxen-parent-1.0-SNAPSHOT</projectNameTemplate> 
        <wtpmanifest>true</wtpmanifest> 
        <wtpapplicationxml>true</wtpapplicationxml> 
        <wtpversion>2.0</wtpversion> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.0.2</version> 
       <configuration> 
        <source>1.5</source> 
        <target>1.5</target> 
        <encoding>UTF-8</encoding> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.mortbay.jetty</groupId> 
       <artifactId>maven-jetty-plugin</artifactId> 
       <version>6.1.8</version> 
       <configuration> 
        <!-- Configure the webapp --> 
        <contextPath>/verteiltepaxen</contextPath> 
       </configuration> 
      </plugin> 
     </plugins> 
     <finalName>verteiltepaxen-parent-1.0SNAPSHOT</finalName> 
    </build> 
    <modules> 
     <module>client</module> 
     <module>server</module> 
     <module>core</module> 
    </modules> 
</project> 

Merci beaucoup pour votre aide :)


Merci votre pour votre aide, je l'ai enlevé, mais l'erreur est le même

<dependencies> 
    <dependency> 
     <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
     <artifactId>core</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
</dependencies> 

Répondre

0

Je ne suis pas sûr que wha t ce serait en fait le faire, mais dans le serveur POM vous la liste de base comme une dépendance et puis aussi exclure:

<dependency> 
    <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
    <artifactId>core</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <type>jar</type> 
    <scope>compile</scope> 
    <exclusions> 
     <exclusion> 
      <artifactId>core</artifactId> 
      <groupId>at.ac.inso.tuwien.verteiltepraxen</groupId> 
     </exclusion> 
    </exclusions> 
</dependency> 

Pourquoi voudriez-vous faire? Les exclusions sont utilisées pour dire à Maven d'ignorer certaines dépendances glissées par d'autres dépendances dans votre build. Essayez de supprimer l'exclusion.

0

Vous avez probablement besoin d'un mvn clean install dans le répertoire parent pour obtenir un nouveau fichier de guerre. Sinon, clarifiez ce que vous entendez par "si je commence l'application": en utilisant le plugin maven jetty? Déploiement sur Tomcat? Autre chose?