# GIT Projekt importiert ... wie kann das Ding in Jars gewndelt werden ?



## fluppe (28. Jul 2015)

Hi,

erstmal die ganz allgemeine Frage:
Ich habe mir ein Git Projekt geklont und importiert
In dem Git projekt liegen eine Menge Quellordner und so ... beim importieren macht der aus jedem package ein eigenes Projekt, jedenfalls habe ich da einen Haufen Ordner.


Mein verwegener Plan ist es nun da was hinzuzufügen und so und den Kram dann in JAR files umzusetzen.
Eigentlich ist dafür ja wohl das "builder" project vorgesehen, aber das ist fehlerhaft. Keine Ahnung warum, ich habe mich erstmal darum zu kümmern, wie das so grundsätzlich vonstatten geht, bevor ich mich mit "ant" oder anderen tools auseinandersetze.

Wo kann man sich da informieren, wenn man wissen will, wie man eclipse ein .jar file entlockt und ist das überhaupt richtig so wie es da aussieht ?? Wahrscheinlich bin ich schon drüber gestolpert, habs aber nicht verstanden ... 

Besten Gruss,
...


----------



## BRoll (28. Jul 2015)

Eine Jar kannst du einfach mit rechtsklick auf ein Project > Export >  Java > Jar / Runnable Jar
Einstellungen musst du halt je nach Projekt anpassen, ob libs mit in das jar exportiert werden oder nicht.
Wenn es ein Standalone werden soll, muss das jar auf jedenfall an alle libs kommen. (entweder ins jar gepackt oder über einen lib ordner meistens neben dem jar). Beim starten des jars kannst du auch noch parameter übergeben wo deine bibliotheken liegen. Deshalb ist das ein bisschen schwierig "allgemein" zu beschreiben den Vorgang, weil der je nach Anwendungszweck anders ist.


----------



## fluppe (28. Jul 2015)

Na, ich habe immer nach sowas wie "build" oder so gesucht ...
er will aber irgendwas wissen
...
Select a 'Java Application' launch configuration to use to create a runnable JAR.
...
und ich habe keine Ahnung was das ist.


----------



## fluppe (28. Jul 2015)

... got it ... es war "JAR" und nicht "Runable JAR" ... damit ging's dann.
Jetzt schaue ich mir mal das Ergebnis an.

Besten Dank Herr/Frau BRoll,
...


----------



## fluppe (28. Jul 2015)

Ach so, hatte in der Zwischenzeit meine eigene Antwort überschrieben ... deshalb ist das vielleicht ein bisschen zusammenhangslos.

Ich hatte gesagt, ich hätte zuvor immer nach sowas wie "build" gesucht, da kamen aber keine Jars bei raus ...
und das der nun von mir ... Select a 'Java Application' launch configuration to use to create a runnable JAR. ...
sowas wissen will.

Wollte er aber doch nicht. 

Grüße,
...


----------



## BRoll (28. Jul 2015)

Naja verstehst du überhaupt den Unterschied von Jar und Runnable Jar?
Das war er mit Java launch configuration meint (bei der Runnable Jar) ist der Einstiegspnukt der jar. Da musst du deine Mainclasse angeben, von der aus gestartet werden soll. Bei einer "normalen" Jar gibt es keine launch configuration, weil es nur eine bibliothek ist und kein standalone.


----------



## fluppe (29. Jul 2015)

Hi,

doch, im Prinzip schon. Jar's werden von "Anwendungen" (die in der JRE ausgeführt werden) ausgeführt, "runnable Jars" sind "Anwendungen" ( die in der ... ) ... wie ne .dll, ja, das habe ich mir dann so gedacht.
Was nun die "Launch configuration" sein soll ist immernoch ein Rätsel, aber ich bin naiverweise erstmal davon ausgegangen, daß sowas auch für Jars Sinn machen kann, die als Bibliothek benutzt werden ... irgendwie wollen die ja auch von irgendwem ausgeführt werden ... ob jetzt JRE oder eine "Anwendung" darin.

Beste Grüße,
...


----------



## BRoll (29. Jul 2015)

Ich glaub du hast das immer noch nicht ganz verstanden xD
In den Bibliotheken wird nichts "irgendwie ausgeführt". Wenn du eine Bibliothek importierst, bedeutet das nur, dass du auf deren Klassen im Classpath zugfreifen kannst.
Da ist keine höhere Magie im Spiel. In einer Bibliothek ist auch keine JRE drin, die hast du bei dir lokal installiert. Eine Bibliothek ist erst mal nur eine Menge an Resourcen, zb. in 
Form von Class Dateien. Wenn eine JAR von außen gestartet wird (Runnable Jar) heißt das auch nur, dass in der Bibliothek eine vorher markierte (Launch Configuration) Klasse mit einer
main Methode ausgeführt wird


----------



## fluppe (30. Jul 2015)

Was mache ich mit den Klassen im "ClassPath" ?

Habe ich nicht verstanden, aber ich dachte, ich will die benutzen, um Instanzen zu erzeugen und letztlich deren Methoden auszuführen. In der JRE ... 

Ich bin davon ausgegangen, daß die "Anwendung" die läuft (im Sinne eines Betriebsystems) die JRE ist, die den ByteCode ausführen kann ... klar ist die nicht in meiner systemunabhängigen "java-bilbliothek", denn die JRE ist ja systemabhängig.
Meine jars habe ich auch bei mir lokal, aber noch nicht einmal installiert. Und die werden dann von meiner "runable jar" .. naja, sagen wir mal "hinzugelinkt" ... und ohne "main" methode weiss meine JRE nicht wo sie anfangen soll etwas auszuführen ... so ?

Ich habe trotzdem sehr naiver Weise gedacht, daß sowas wie eine "launch config" auch für "jars" Sinn mahen kann ... mit so Infos wie "Version der JRE" oder "Debug mode" ... sowas halt ... aber gut, dann eben nicht. Ist mir auch eigentlich lieber.

Ich bin so klug als wie zuvor, aber trotzdem dümmer  ... 


Besten Gruss,
...


----------

