E
ErnstC
Gast
Hallo allerseits,
habe als Entwicklungsumgebung Eclipse und will folgendes machen:
I)
1) Ich habe ein paar Klassen, die ich "anderen" zur Verfügung stellen will. In diesen Klassen gibt es z.B. Methoden, die den Flächeninhalt bestimmter geometrischer Figuren berechnet.
2) Von diesen Klassen will ich nicht den Quellcode veröffentlichen, d.h. ich will genau eine jar-Datei erzeugen (in der sich natürlich keine main-Methode befindet).
3) D.h. auf einem anderen Rechner will ich dann z.B. in einem Projekt in der Methode main(..) die Fläche eines Rechtecks berechnen unter Zuhilfenahme der entsprechenden Methoden meiner Klassen (die in der jar-datei abgelegt sind).
II)
Wie mache ich das in Eclipse?
1)
In Eclipse auf Rechner1 ein Projekt z.B. test1 anlegen.
Eine Klasse erzeugen, in der sich die main(..) Methode befindet.
Ein package erzeugen, z.B. mit dem Namen
packGeo
In diesem Package dann meine Klassen anlegen, die die Fläche verschiedener geometrischer Figuren berechnen. Dann am Anfang jeder Klasse schreiben:
package packGeo;
Dann alles übersetzen und in main(..) zu Testzwecken ein paar Flächeninhalte berechnen lassen.
2)
File --> Export --> Jar-File --> dann das Paket ankreuzen, das man exportieren will und der Pfad und namen angeben, z.B: C:\temp\packGeo.jar
3)
Zu Testzwecken auf einem anderen Rechner, hier Rechner2 genannt mit Eclipse ein Projekt, z.B. test2 anlegen.
Dann eine Klasse anlegen, in der main(..) vorkommt und dort z.B. die Fläche eines Rechtecks berechnen. Dazu muss dann allerdings das Packet packGeo.jar eingebunden werden.
D.h. man schreibt vor main(..)
import packGeo.*
Die Datei packGeo.jar (die auf dem anderen Rechner erzeugt wurde), muss dann noch in den Ordner bin des Projekts kopiert werden.
Leider funktioniert das nicht.
Was mache ich falsch?
Bemerkung:
Woher weiss die JVM des anderen Rechners Rechner2 eigentlich, wie sie mein package auf der Festplatte finden soll, das ich dort irgendwo hinkopiert habe?
Über den classpath vielleicht? Aber wenn die Umgebungsvariable für den classpath gar nicht existiert (mir wurde gesagt, dass man auf das Setzen der Umgebungsvariablen verzichten soll).
mfg
ErnstC
habe als Entwicklungsumgebung Eclipse und will folgendes machen:
I)
1) Ich habe ein paar Klassen, die ich "anderen" zur Verfügung stellen will. In diesen Klassen gibt es z.B. Methoden, die den Flächeninhalt bestimmter geometrischer Figuren berechnet.
2) Von diesen Klassen will ich nicht den Quellcode veröffentlichen, d.h. ich will genau eine jar-Datei erzeugen (in der sich natürlich keine main-Methode befindet).
3) D.h. auf einem anderen Rechner will ich dann z.B. in einem Projekt in der Methode main(..) die Fläche eines Rechtecks berechnen unter Zuhilfenahme der entsprechenden Methoden meiner Klassen (die in der jar-datei abgelegt sind).
II)
Wie mache ich das in Eclipse?
1)
In Eclipse auf Rechner1 ein Projekt z.B. test1 anlegen.
Eine Klasse erzeugen, in der sich die main(..) Methode befindet.
Ein package erzeugen, z.B. mit dem Namen
packGeo
In diesem Package dann meine Klassen anlegen, die die Fläche verschiedener geometrischer Figuren berechnen. Dann am Anfang jeder Klasse schreiben:
package packGeo;
Dann alles übersetzen und in main(..) zu Testzwecken ein paar Flächeninhalte berechnen lassen.
2)
File --> Export --> Jar-File --> dann das Paket ankreuzen, das man exportieren will und der Pfad und namen angeben, z.B: C:\temp\packGeo.jar
3)
Zu Testzwecken auf einem anderen Rechner, hier Rechner2 genannt mit Eclipse ein Projekt, z.B. test2 anlegen.
Dann eine Klasse anlegen, in der main(..) vorkommt und dort z.B. die Fläche eines Rechtecks berechnen. Dazu muss dann allerdings das Packet packGeo.jar eingebunden werden.
D.h. man schreibt vor main(..)
import packGeo.*
Die Datei packGeo.jar (die auf dem anderen Rechner erzeugt wurde), muss dann noch in den Ordner bin des Projekts kopiert werden.
Leider funktioniert das nicht.
Was mache ich falsch?
Bemerkung:
Woher weiss die JVM des anderen Rechners Rechner2 eigentlich, wie sie mein package auf der Festplatte finden soll, das ich dort irgendwo hinkopiert habe?
Über den classpath vielleicht? Aber wenn die Umgebungsvariable für den classpath gar nicht existiert (mir wurde gesagt, dass man auf das Setzen der Umgebungsvariablen verzichten soll).
mfg
ErnstC