# Java Datei Compilieren



## MAB_Commander (23. Sep 2010)

Hallo,
ich muss vorab sagen, dass ich ein Java-Anfänger bin.

Erstmal die Vorgeschichte:
Ich kenne mich mit Programmieren in autoIt relativ gut aus, und habe darin ein Programm geschrieben.
Dieses muss an einer stelle mit großen Zahlen rechnen.
Da autoIt dafür viel zu langsam ist, wollte ich es mit C++ probieren.
Sehr schnell, aber ich habe das mit den unendlich großen Zahlen irgendwie nicht hinbekommen.
Bei Java ist das ja kein problem, und die Geschwindigkeit ist auch ganz in ordnung.
Also habe ich mich gestern und heute die ganze Zeit damit abgemüht, mir alles zusammenzusuchen und die rechnungen in Java zu programmieren.
Habe Eclipse benutzt, und das Programm funktioniert auch soweit.
Jetzt hänge ich an einem Problem, für das ich im Internet keine Lösung gefunden habe.

Überblick über das Java Programm:

Es hat keine ConsolenBox, sondern macht alles (ein- und ausgabe) über .txt Dateien.

Die imports sind evtl. auch wichtig:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.*;
import java.util.Random;

Funktionsweise des Java Programmes:

Es ließt zahlen aus den Textdateien aus, rechnet mit ihnen rum, und schreibt sie in die selben Textdateien wieder hinein. (eigentlich ganz simpel)

Die Hauptklasse ist:

public static void main(String[] args) throws IOException

Ich habe keine ahnung was das throws zu bedeuten hat, Eclipse hat es vorgeschlagen und die Fehler waren weg.^^

So, nun mein Problem:

Ich möchte mein AutoIt programm zusammen mit der Java datei verschicken, und es soll auf jedem Windows Pc laufen.
Dazu muss ich das Java programm irgendwie compilieren.
Die .class Datei wird bei eclipse ja immer automatisch erstellt.
Soweit ich weiß, kann man die aber noch nicht starten. (nur über cmd, aber das kann ja kein anderes programm)

Ich möchte die datei entweder direkt (AutoIt hat so einen Run befehl) starten, oder über ne Batch datei (weiß nicht wie man so eine schreibt, aber das lässt sich bestimmt herausfinden), die ich ja dann auch über den Run befehl aus AutoIt starten könnte.

Wenn ich die .class mit cmd java programmname starte kommen folgende Fehlermeldungen:

at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)

Wenn ich in eclipse diese export funktion verwende, kommen entweder .jar dateien raus, die ne fehlermeldung ausgeben oder nichts machen.
Ich kenne mich allerdings überhaupt nicht mit den einstellungen beim exportieren aus und weiß auch nicht, ob ich export nach dem rechtsklick auf die klasse, das paket oder das projekt anklicken soll.

Mit cmd und dem jar befehl: Cmd kennt den befehle "jar" nicht.
Und "javac" auch nicht.

Also, wie bekomme ich es hin, dass ich das Java Programm auf jedem beliebigen PC ohne CMD laufen lassen kann?

MfG, MAB_Commander


----------



## illuminus (23. Sep 2010)

Im Eclipse das Projekt als "Runnable Jar" exportieren (rechtsklick aufs Projekt)
Jar dann mit "java -jar prog.jar" ausführen.
Bzw. mit rechsklick auf die jar->ausführen als Java app (nicht genauer Wortlaut, bin Linux user ^^)

MFG


----------



## MAB_Commander (23. Sep 2010)

Oh man, vielen dank.
Fast schon peinlich wie einfach das war^^

Hatte alles mögliche ausprobiert, nur ganzes projekt in verbindung mit ausführbarer java datei nicht...

Jetzt noch eine Frage.

Auf menem Pc kann ich diese datei jetzt doppelklicken zum starten.
Wie ist das auf PC's wo das nicht geht?
Also Java muss installiert sein, dass ist klar, aber ist es egal wo Java liegt?
Müssen irgendwelche umgebungsvatiablen gesetzt werden?

Und wie starte ich die.jar datei wenn sie nicht mit java verknüpft ist?


----------



## Landei (23. Sep 2010)

Wenn Java ordentlich installiert ist, reicht ein Doppelklick auf das jar. Ansonsten dafür sorgen, dass java.exe im path ist, und "java -jar meintolles.jar" aufrufen.


----------



## MAB_Commander (23. Sep 2010)

Die Sache ist ja, dass ich das Programm verschicke, und ich davon ausgehen muss, dass java nicht ordentlich installiert ist.
In welchem Pfad soll java.exe liegen???

Und wenn ich "java -jar meintolles.jar" mit ner .bat aufrufe erscheint ne schwarze box, die 3 sekunden da bleibt...
Das ganze sollte eigentlich im Hintergrund erfolgen.


----------



## faetzminator (24. Sep 2010)

MAB_Commander hat gesagt.:


> Und wenn ich "java -jar meintolles.jar" mit ner .bat aufrufe erscheint ne schwarze box, die 3 sekunden da bleibt...



Unter Windoof gibts da doch die javaw!? Versuchs mit [c]javaw -jar meintolles.jar[/c]


----------



## MAB_Commander (24. Sep 2010)

Klappt auch, die Box ist aber auch da^^

Ist das viellicht mit .vbs zu lösen?
Ich finde dazu leider auch nichts online...
Vielleicht kennt sich ja jemand mit vbs aus.


----------



## L-ectron-X (24. Sep 2010)

MAB_Commander hat gesagt.:


> Die Sache ist ja, dass ich das Programm verschicke, und ich davon ausgehen muss, dass java nicht ordentlich installiert ist.


http://www.java-forum.org/spezialthemen/18384-6-varianten-java-programme-starten-jar-bat-exe-cd.html
Wie wär's mit Punkt 6?


----------



## MAB_Commander (24. Sep 2010)

Ich glaube, dass das nur auf CD's klappt, und das bringt mir nichts.
Habe soeben etwas gefunden was mir weiter hilft.
AutoIt hat in der Run funktion nen Parameter der dass Programm im Hintergrund ausführt.
Das reicht mir.
Danke an alle die geholfen haben.


----------



## MAB_Commander (24. Sep 2010)

Zwei Stunden rum und ich bin schon wieder am Verweifeln

Alles hatte geklappt, und jetzt habe ich ein neues Programm geschrieben.
Wieder genau so exportiert, erstellen erfolgreich.

Habe es gestartet, und siehe da: Es ist praktisch das alte?!

Es ist ein ganz anderes Programm, in nem völlig neuen Projekt, aber wenn ich es doppelklicke macht es das gleiche wie mein altes.

Daraufhin ist mir aufgefallen, dass unter Exportieren bei "Launch Configuration" der name meines alten Programmes steht.
Leider aber keine andere Auswahlmöglichkeit.

Habe aus den Projekten das alte gelöscht (nicht auf der Festplatte, nur im Workspace).
Dann war unter "Launch Configuration" gar nichts mehr.
Wie kommt das? Beim alten Programm stand das da von ganz alleine, ohne dass ich irgendetwas machen musste, und jetzt kann ich überhaupt nichts mehr Exportieren...

Im Internet steht, dass ich selbst eine Launch Configuration erstellen muss.

Ich weiß aber nicht wie das geht, und außerdem musste ich das beim ersten Projekt auch nicht machen.

MfG


----------

