Java Applet und verlinkte JAR's

Benzol

Erfahrenes Mitglied
Hey Leute,
habe Probleme mein geändertes Java Applet zum Laufen zu bekommen.

Das Applet ist signiert und soll Bilddaten auf der Clientseite vor dem hochladen klein rechnen. Habe das bisher immer mit Java-Bordmitteln gemacht, bin aber wegen Geschwindigkeit und Qualität auf JAI umgestiegen.

JAI habe ich schon erfolgreich hin im Laden in einer Java-Anwendung am laufen. Auch den Programmteil für's verkleinern der Bilddaten habe ich aus dem Programm soweit übernommen.

Für's Applet habe ich jetzt die beiden JAR-Dateien in der Manifest angegeben nach ersten Problemen wegen Sicherheit habe ich die beiden Dateien auch signiert.

Jetzt bekomme ich leider einen Fehler, mit dem ich nix anfangen kann. Vllt. könnt Ihr mich helfen, bin da grad etwas Ratlos. :confused:
Code:
Exception in thread "Thread-8" java.lang.NoClassDefFoundError: javax/media/jai/OperationRegistrySpi
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.access$000(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.sun.media.jai.util.Service$LazyIterator.next(Service.java:267)
	at javax.media.jai.OperationRegistry.registerServices(OperationRegistry.java:2047)
	at javax.media.jai.ThreadSafeOperationRegistry.registerServices(ThreadSafeOperationRegistry.java:612)
	at javax.media.jai.OperationRegistry.initializeRegistry(OperationRegistry.java:365)
	at javax.media.jai.JAI.<clinit>(JAI.java:560)
	at PictureManager.UploadPicture(PictureManager.java:245)
	at PictureManager.UploadDirectory(PictureManager.java:172)
	at PictureManager$1.run(PictureManager.java:137)

Habe nochmal fixx den Code rausgesucht, der für das kleinrechnen veräntwortlich ist.

Java:
PlanarImage source = JAI.create("fileload", selectedFile.getPath());

        		int imgwidth = source.getWidth();
        		int imgheight = source.getHeight();
        		
        		//Größe berechnen
        		boolean tall = (imgheight > imgwidth);
        		float modifier = (float) widthparam / (float) (tall ? imgheight : imgwidth);
        		
        		ParameterBlock param = new ParameterBlock();
        		param.addSource(source);
        		param.add(modifier); //Breite in %
        		param.add(modifier); //Höhe in %
        		param.add(0.0f);
        		param.add(0.0f);
        		param.add(new InterpolationBicubic(11)); //Interpolation
        		
        		//Verkleinertes Zeilbild erstellen
        		PlanarImage dst = JAI.create("scale", param);
        		
        		//In Datei schreiben
        		FileOutputStream os = new FileOutputStream(new File(tmpdir+selectedFile.getName()));
        		JAI.create("encode", dst, os, "JPEG", null);
        		os.close();
        		SubmitPicture(tmpdir+selectedFile.getName());
 
Zuletzt bearbeitet:
Zurück