Hallo
Habe eine ZIP File die nennt sich Prog1Tools.zip. Da drin sind mehrere Klassen, unter anderem IOTools.class.
Diese brauche ich um mit der Tastatur Eingaben machen zu können. Ein Beispiel:
import Prog1Tools.IOTools;
public class NewClass {
public static void main(String[] args) {
double a, b;
a = IOTools.readDouble("a = ");
b = IOTools.readDouble("b = ");
System.out.println("a/b = " + a/b);
}
}
Das Programm läuft im Projekt "TestKlasse" also heisst die Fertige Datei auch TestKlasse.jar.
Starte ich das Programm (java -jar TestKlasse.jar) läuft es denn IOTools.class befindet sich in dem Verzeichnis was in der Manifest Datei hinterlegt ist.
Die hört sich so an (manifest.mf):
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 1.6.0_03-b05 (Sun Microsystems Inc.)
Main-Class: NewClass
Class-Path: lib/Prog1Tools.zip
X-COMMENT: Main-Class will be added automatically by build
Kopiere ich das Programm auf einem USB Stick und lasse es auf einem anderen PC laufen, kommt:
Exception in thread "main" java.lang.NoClassDefFoundError: Prog1Tools/IOTools
at NewClass.main(NewClass.java:6)
was auch richtig ist denn Prog1Tools und somit IOTools befinden sich nicht auf dem Stick.
Wie kann ich dem PC (NetBeans oder Eclipse) beibringen dass er die ZIP Datei auch in die JAR Datei mit übernimmt (oder zumindest IOTools.class)?
Gibt es eine elegantere Lösung ohne auf externe Pakete zugreifen zu müssen? IOTools gehört nicht zum Java "Standard Wortschatz" aber das brauche ich nicht zu erwähnen.
Hoffe mein Dilemma ist euch irgendwie klar.
Habe OpenSuSE 10.3 x86_64, NetBeans 6, Eclipse 3.3.1.1
Vielen Dank für die Hilfe!
CU
1234567