# java Programme als batch starten



## hansi (21. Jul 2005)

Batchdatei/ Programme über Konsole starten 

hallo Leute,

ich habe ein Riesenproblem. ich benutze Java Eclipse und schriebe eine Applikation die von der konsole gestartet werden soll, eigentlich zeitgesteuert über eine Batch- Datei. 
meine eigenen Klassen habe ich schon in ein "jar.Archiv" verpackt, aber welchen Inhalt muss ich der batchdatei geben, damit sie meine Klassen über die Konsole startet.


Mein Aufruf sieht momentan so aus:

java -classpath jdom.jar; poi.jar; eigeneklassen.jar

Problem: 
er bringt die Fehlermeldung, dass er nicht erkennt, wo die Main- Methode in "eigeneKlassen" ist, wie muss ich sowas angeben ?
ausserdem bringt er auch immer dass "poi/jar" nicht lesbar ist, obwohl ich doch "poi.jar" angegeben habe ?
 wie schaffe ich es ausserdem meinen genauen Pfad einzugeben:
ich dachte statt "poi.jar" einfach "c:/downloads/plugins/poi.jar" -> also vor jedes jar- Archiv den genauen Pfad angeben, aber das funktioniert scheinbar auch nicht !!!

kann mir da bitte jemand helfen,
ich bin am Verzweifeln so kurz vor dem Ziel scheitern zu müssen !!!

ich glaube mit den Leerzeicheno der so passt da was net!

danke euch

euer schorsch


----------



## L-ectron-X (21. Jul 2005)

*java -classpath -jar jdom.jar; poi.jar; eigeneklassen.jar* geht nicht?
Ansonsten fehlt vielleicht die Angabe der Main-Class in der Manifest-Datei.


----------



## Roar (21. Jul 2005)

wenn du eine jar datei starten willst musst du den parameter -jar mit angeben => java -h


----------



## thE_29 (22. Jul 2005)

Hö??

java -h ? wasn das??

Und du kannst eine jar Datei auch ohne  -jar starten!

Wenn du keine Manifest.MF hast oder keinen Main-Class Eintrag in der Manifest so kannst du das auch so starten

java -classpath jdom.jar;poi.jar;meineklasse.jar meine.klasse.main


----------



## schorsch2 (22. Jul 2005)

erstmal danke, dass ihr genatwortet habt,

aber auch ein -jar bringt nichts,

ebenso die angbae der MainKlasse , hab ich auch überprüft;

ich denke das problem liegt er daran, dass er poi.jar und jdom.jar
als poi/jar und jdom/jar interpretiert!

der interpretiert mir die "Punkte" als "/", woran kann denn das liegen ?
weil er meldet Class not found;
ich bin absolut überfragt leider


----------



## stev.glasow (22. Jul 2005)

thE_29 hat gesagt.:
			
		

> Hö??
> 
> java -h ? wasn das??



 :lol: Gibt es einfach mal ein    :wink:


----------



## thE_29 (22. Jul 2005)

also java -h macht das gleiche wie nur java!

Zu deinem Problem: das ist ein JVM Problem, ab 1.4_2 (oder _3) darf man bei Klassenangaben zum Laden keinen / mehr angeben, sondern immer einen .

Also mit einer früheren 1.4er oder 1.3er sollte es klappen! (oder mit neuen Libs die einen . statt / benutzen)


Bzw.: poste mal den ganzen Fehler!


----------



## stev.glasow (22. Jul 2005)

thE_29 hat gesagt.:
			
		

> also java -h macht das gleiche wie nur java!


Ne, nur java macht das gleiche wie java -h.
Ist doch üblich dass man bei -h eine Hilfe ausgeben läßt.


----------



## schorsch2 (22. Jul 2005)

mein coding mit fehlermeldung:

C:\Eclipse\eclipse\plugins>java -classpath -jar jdom.jar;poi.jar;eigkl.jar;Ausfehrung.main

Exception in thread "main" java.lang.NoClassDefFoundError: jdom/jar;poi/jar;eig
l/jar;Ausfuehrung/main


so únd da hab dann das scheiss problem


----------



## Roar (22. Jul 2005)

jane natürlich geht das nich. schrieb so:

java -cp bla.jar -jar Bam.jar


----------



## thE_29 (22. Jul 2005)

Also das is Blödsinn!!

ClassPath dinger werden entweder durch einen ; oder : getrennt!

Nur in der Manifest.MF stehen sie via Leerzeichen getrennt!


Und eine jar Datei kann man so starten, ich starte viele Dinge so, Bsp

java -cp .\programs\jDstore.jar;.\programs\menu.jar;.\LoginMaske.jar at.dstore.SplashLoader



Könnte genauso so gehn


java -cp .\programs\jDstore.jar;.\programs\menu.jar -jar LoginMaske.jar


----------



## schorsch.2 (26. Jul 2005)

leider nicht,

ich habe immernoch das problem dass er mir alle "." (Punkte) als "/" interpretiert und deshalb abbricht;
wie ist das mit der VM ?
wie kann ich das ändern , muss ich da ne neue VM downloaden und wie binde ich die dann ein ?

danke 
schorsch


----------



## thE_29 (27. Jul 2005)

Du brauchst eine älter Java VM (unter 1.4_2 damit das geht)


----------



## MPW (27. Jul 2005)

?? das muss doch auch mit einer aktuellen gehen:

Also erstmal langsam...wenn man diesen Thread das erstmal liest kriegt man ja Kopfschmerzen...einer weiß es besser als der andere.


Also, erstmal ein jar erstellen und per Doppelklick testen ob's geht. Damit der Classpath erstmal auf jeden Fall geht, pack die jar mal in den Ordner der andern jars, das ändern wir später.

Und dann sag' erstmal ob du das hinkriegst^^.


----------

