Autor Thema: Externes Prog(Java) aufrufen  (Gelesen 11815 mal)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Externes Prog(Java) aufrufen
« am: 08.12.05 - 08:58:24 »
Hallo *,

eigentlich ist es ja doch ziemlich einfach, mittels Script ein externes Programm
aufzurufen und zu starten. Wenn, ja wenn es nicht eine Java-Anwendung ist,
oder???
Ich habe schon alles, wie es aussieht, versucht, inklusive des jstart32-Tool's.
Aber das Javaprog lässt sich aus Notes heraus nicht starten, auch nicht über eine
BAT-Datei mit dem Eintrag "java MeineAnwendung". 
Hat von euch noch einer eine Idee wie ich das hinbekommen kann?

Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Externes Prog(Java) aufrufen
« Antwort #1 am: 09.12.05 - 10:06:35 »
Eventuell würdest du mehr Antworten bekommen, wenn du erstens genauer beschreibst was passiert, bzw. ein Beispiel Srcipt postest. Dann müssten wir nämlich nicht raten, was dein Problem ist.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Externes Prog(Java) aufrufen
« Antwort #2 am: 09.12.05 - 10:15:11 »
Hi,
danke auch zu deiner Antwort, obwohl wenn ich ein Befehl wie Shell( "Anwendung", 1) hinschreibe, was bringt das mehr an Erklärung?
Zumal ich auch noch angab, das ich das JStart32-Tool einsetzte.
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Externes Prog(Java) aufrufen
« Antwort #3 am: 09.12.05 - 10:23:42 »
Nun ohne jetzt beleidigend zu sein, aber Shell ("Anwendung",1) kann meiner Meinun nach nicht funktionieren, ausser es gibt eine Bat Datei die Anwendung heisst, aber eventuell kannst du mal ein einfaches Beispiel posten, dann schaue ich es mir an, aber so. BTW. Ich habe schon öfters java Programme über shell aufgerufen und funktioniert problemlos. Muss dazu sagen, dass ich aber nicht jstart32.exe verwende sondern eine Bat Datei

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Externes Prog(Java) aufrufen
« Antwort #4 am: 09.12.05 - 10:38:32 »
Jetzt sind wir im Thema.  :)
Die Bezeichnung "Anwendung" ist der Name des Programms. Der Aufruf stellt auch kein Prob. da, ich habe ein Test Prog mit C# geschrieben, es startet wie gewünscht, ich habe Paint (echt nur zum Test  ;) ) aufgerufen, es startet wie gewünscht.
Ich muß abe raus dem Notes herraus eine Java-Anwendung anstarten, die in der Windoes-Konsole mittels "java FirstForm" aufgerufen und gestartet wird. Aus einer Batch heraus habe ich es so auch versucht, leider ohne Erfolg. Das Programm JStart32 ist ein Programm, das die eine Start-Exe für Windowsumgebung baut. Damit ist deine Anwendung z. B. per "Anwendung.exe" aufrufbar.
Ist supi und hängt als Anhang dran, kannst dir ja mal anschauen.
Hilft es weiter, das Java-Prog als Jar zupacken?
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Externes Prog(Java) aufrufen
« Antwort #5 am: 09.12.05 - 10:41:05 »
Ja genau jetzt sind wir beim Thema, wenn du in der Batchdatei java Anwendungsname aufrust, welche Fehlermeldung liefert dann java?

Mach in der Batchdatei hinten ein pause rein, dann siehst du sie. Ich tippe mal stark auf ein Classpath Problem.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Externes Prog(Java) aufrufen
« Antwort #6 am: 09.12.05 - 11:37:13 »
Im Dataverzeichnis existiert eine Batchdatei "javastart.bat", wenn ich diese in einem Dosfenster (Command-Box) aufrufe, so wird das Javaprogramm aufgerufen und startet auch ohne Fehler.
Wenn ich das Java-Programm mittels 'res = Shell( "javastart.bat", 1)' starten möchte tritt ein Fehler auf "File not found". Kannst du was damit anfangen?
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Externes Prog(Java) aufrufen
« Antwort #7 am: 09.12.05 - 11:41:15 »
Ja da du keinen Pfad angibst und dein Datenverzeichnis nicht im Pfad liegt, findet er die Batchdatei nicht.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Externes Prog(Java) aufrufen
« Antwort #8 am: 09.12.05 - 11:48:40 »
Naja, den Pfad, der in der Umgebung unter Lotus Notes hinterlegt ist habe ich auch mit übergeben, also auslesen der Directory-Angabe und dann den String zusammengebaut. Aber hat auch nicht gefunzt, aber alles liegt im Data-Directory.
Kann Java irgendwelche Pfadprobleme haben?
Auch hier habe ich die Pfade für die jre mit angegeben und den Aufruf "java" dran geklebt und das eigentliche Programm auch mit seinem Pfad. Aber hat auch nicht gefunzt.
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Externes Prog(Java) aufrufen
« Antwort #9 am: 09.12.05 - 11:53:57 »
Neuer Test: Ich habe jetzt den Pfad nochmal vor die Batch geschrieben, jetzt wird wohl eine Konsole aufgemacht, aber das Java-Prog startet nicht. Die Konsole geht dann direkt wieder zu, ein Lesen der Info in ihr ist nicht möglich.
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Externes Prog(Java) aufrufen
« Antwort #10 am: 09.12.05 - 11:57:14 »
Also ich verzweifel etwas mit dir, du postest immer was und dann sagst du du machst es anders. Wenn du File not found bekommst, gehe ich davon aus, dass er die javastart.bat nicht findet. Kannst du nicht bitte bitte deinen originalen Code posten wie du es aufrufst, dann denke ich wäre der Fehler sofort gefunden. Zusätzlich noch deine Path Variable. Dann noch die genaue Fehlermeldung erhälst du diese in einen Commandline Fenster oder eine Windows Fehlermeldung.

Grüße

Ralf

P.S. Nicht verzweifeln. Ich habe es gerade nochmal probiert und funktioniert einwandfrei.

Hier der Beispielcode von mir

Sub Click(Source as Button)
test=Shell("c:\test.bat",1)
end sub

Hier die Bat Datei

c:
cd \
java test/MicroBenchmark
pause


Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Externes Prog(Java) aufrufen
« Antwort #11 am: 09.12.05 - 11:58:19 »
Ich habe doch gesagt, mach in die Bat ein Pause zum Schluß rein, dann kannst du auch die Fehlermeldung lesen.

Poste bitte die Fehlermeldung dann kann ich dir helfen. Trotzdem wäre der Code nicht schlecht.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Externes Prog(Java) aufrufen
« Antwort #12 am: 09.12.05 - 12:01:27 »
Dauert jetzt ein kleinen Augenblick, ich setzte deine Vorgaben um...
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Externes Prog(Java) aufrufen
« Antwort #13 am: 09.12.05 - 12:09:53 »
Hallo Ralf,
bitte noch einwenig Geduld ...
Ich habe es so ausgeführt wie du es beschrieben hast...
Die Ausgabe im Konsolenfenster lautete:
   C:\Programme\lotus\notes>java FirstForm
   Exception in thread "main" java.lang.NoClassDefFoundError: FirstForm
Mein Notesscript sieht wie folgt aus:
   dateiPfad = session.GetEnvironmentString( "Directory", True )
   Dim res As Integer
   res = Shell( dateiPfad + "\javastart.bat", 1)


Grüße Volker
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Externes Prog(Java) aufrufen
« Antwort #14 am: 09.12.05 - 12:12:54 »
Hallo Volker!

Befindet sich die Klasse FirstForm Dateiname FirstForm.class in dem Verzeichnis C:\Programme\lotus\notes oder in einem anderen Verzeichnis. Falls dem nämlich so ist, dann müsstest du erst ins richtige Verzeichnis wechseln wie in meiner Batch Datei. Besteht das FirstForm nur aus einer Klasse und hat das keine abhängigen Klassen?


Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Externes Prog(Java) aufrufen
« Antwort #15 am: 09.12.05 - 12:18:32 »
Hi Ralf,

in dem Notes-Data-Verzeichnis sind die Java-Dateien FirstForm.class, EFenster.class und die EFenster$1.class enthalten. Sie sind auch im Workspace enthalten gewesen.
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Externes Prog(Java) aufrufen
« Antwort #16 am: 09.12.05 - 12:24:22 »
Da ich mal davon ausgehe, dass c:\Programme\lotus\notes dein Programmverzeichnis ist, musst du in das Datenverzeichnis mit cd wechseln, bevor du den Java Befehl absetzt wie in meinem Batch File.

Eine Alternative ist, dass du alle benötigten Klassen in ein Jar packst. Weiss jetzt nich welches IDE du einsetzt aber im Rational Developer geht das z.B. mit Exportieren als Jar. Dann kannst du das Jar mittels Klasspath beim Aufruf von Java angeben. Das ganze sieht dann so aus.

java FirstForm -classpath c:\Pfad\meinJar.jar

Wobei meinJar der Name deines Jars ist und Pfad der Pfad wo meinJar zu finden ist,   Dann müsste es egal sein, wo du dich befindest.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Externes Prog(Java) aufrufen
« Antwort #17 am: 09.12.05 - 12:30:17 »
Du kannst ein jar auch manuell packen.
http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jar.html#description
Du kannst in deinem .bat den Classpath setzen.
Kannst natürlich auch die einzelnen Klassen da rein setzen. Besser, viel besser, ist natürlich das als jar zu setzen.

bat file könnte dann so aussehen.
Code
set Classpath=C:\xxx\A.class, C:\xxx\a.jar, %Classpath%
c:
cd \
java test/MicroBenchmark
pause
Vermutlich geht auch so was:
Code
set Classpath=C:\pathaufdeinNotesData, %Classpath%
cd \
java test/MicroBenchmark
pause


Die Java-spezifische Sache, die hier für die Verwirrung sorgt ist der Classpath (wie Ralf schon ganz oben getippt hat).

Eleganter wäre es solche Java Programme über RMI einzubinden.

Gruß Axel
« Letzte Änderung: 09.12.05 - 12:35:42 von kennwort »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Externes Prog(Java) aufrufen
« Antwort #18 am: 09.12.05 - 12:33:17 »
Hallo Axel!

Warum soll er das Jar manuell packen wollen?

Was meinst du mit Eleganter wäre es solche Java Programme über RMI einzubinden?

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Externes Prog(Java) aufrufen
« Antwort #19 am: 09.12.05 - 12:34:04 »
Ich versuche es als erstes mit dem Wechseln zum Verzeichnis.
Als Entwicklungsumgebung benutze ich Eclipse 3.0, mit dem Packen zum Jar-Archive habe ich
noch keine Erfahrung, da ich noch ein Java-Neuling bin. Werde dort mal schauen ob ich auch per Export ein Jar erstellen kann.

Ich probier es jetzt....  :)

Vielen Dank an kennwort und besonders an Ralf (für die Geduld  ;) )!
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz