ArrayIndexOutOfBoundsException: 48188 bei REST-WebServices

publicmain

Mitglied
Hallo,

ich versuche gerade REST und JPA mit Hibernate zu lernen.

Ich habe eine JPA-Anwendung geschrieben, die ganz gut funktioniert!
Danach habe ich ein REST-WebService geschrieben, der auch gut funktioniert!
Danach habe ich versucht beide Projekte zusammenzufassen (also mein Java-Code, die JPA-Konfiguration und die POMs) und es funktioniert plötzlich nicht mehr!

Wenn ich den REST-WebService starte, dann bekomme ich folgende Fehlermeldung:
Code:
java.lang.ArrayIndexOutOfBoundsException: 48188
	at org.objectweb.asm.ClassReader.readClass(Unknown Source)
	at org.objectweb.asm.ClassReader.accept(Unknown Source)
	at org.objectweb.asm.ClassReader.accept(Unknown Source)
	at com.sun.jersey.spi.scanning.AnnotationScannerListener.onProcess(AnnotationScannerListener.java:133)
	at com.sun.jersey.core.spi.scanning.JarFileScanner.scan(JarFileScanner.java:97)
	at com.sun.jersey.core.spi.scanning.JarFileScanner$1.f(JarFileScanner.java:74)
	at com.sun.jersey.core.util.Closing.f(Closing.java:71)
	at com.sun.jersey.core.spi.scanning.JarFileScanner.scan(JarFileScanner.java:71)
	at com.sun.jersey.core.spi.scanning.FilesScanner.scan(FilesScanner.java:83)
	at com.sun.jersey.core.spi.scanning.FilesScanner.scan(FilesScanner.java:74)
	at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80)
	at com.sun.jersey.api.core.ClasspathResourceConfig.init(ClasspathResourceConfig.java:119)
	at com.sun.jersey.api.core.ClasspathResourceConfig.<init>(ClasspathResourceConfig.java:101)
	at com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:263)
	at com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:246)
	at com.sun.jersey.api.container.httpserver.HttpServerFactory.create(HttpServerFactory.java:117)
	at com.sun.jersey.api.container.httpserver.HttpServerFactory.create(HttpServerFactory.java:92)
	at de.mein.adressbuch.test.Test03.main(Test03.java:13)


Meine POM sieht so aus:
Code:
  <dependencies>
  <!-- JPA -->
	<dependency>
   	  <groupId>org.hibernate.javax.persistence</groupId>
   	  <artifactId>hibernate-jpa-2.1-api</artifactId>
      <version>1.0.0.Final</version>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>4.3.8.Final</version>
    </dependency>
	<dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-ehcache</artifactId>
      <version>4.3.8.Final</version>
    </dependency>
	<dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>1.5.2</version>
    </dependency> 
    <dependency>
	  <groupId>stax</groupId>
	  <artifactId>stax</artifactId>
	  <version>1.2.0</version>
    </dependency>
  <!--  REST -->
      <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-bundle</artifactId>
      <version>1.8</version>
    </dependency>
    <dependency>
    <groupId>javax.ws.rs</groupId>
      <artifactId>jsr311-api</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>asm</groupId>
      <artifactId>asm</artifactId>
      <version>3.1</version>
    </dependency>
  </dependencies>

Und wenn ich folgenden Code starte, wird die o.g. Exception geworfen. Wohlgemerkt funktioniert der Code, wenn ich den WebService alleine starte (also ohne meine JPA-Klassen und die Dependencies).
Java:
	public static void main(String [] args) {
		try {
			HttpServer server = HttpServerFactory.create("http://localhost:8080/adressbuch");
			server.start();
			JOptionPane.showMessageDialog( null, "Ende" );
			server.stop( 0 );
		} catch (Exception e) {
			e.printStackTrace();
		}
	}


Kann mir da jemand helfen?

Ich habe das Gefühl als würden die Jersey-Bibliothek und Dom4j nicht miteinander funktionieren. Mit einer anderen Dom4j-Version bekam ich nämlich auch folgende Exception:
Code:
java.lang.ClassNotFoundException: org.dom4j.DocumentException

Vielen Dank! :)
 
Zuletzt bearbeitet:

publicmain

Mitglied
Ich habe das Problem gelöst bzw. eher umgangen indem ich folgende Abhängigkeit gelöscht habe:

Code:
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-ehcache</artifactId>
      <version>4.3.8.Final</version>
    </dependency>

Diese Lösung macht mich aber nicht sehr glücklich. Kann mir jemand sagen, warum das ohne diese Abhängigkeit funktioniert und mit dieser Abhängigkeit nicht? Kann ich die Bibliothek irgendwie ersetzen?

Vielen Dank :)
 

Ähnliche Java Themen

Neue Themen


Oben