Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: newbie, launch een script  (gelezen 1870 keer)

Offline chicky

  • Lid
newbie, launch een script
« Gepost op: 2012/06/10, 14:03:33 »
Hoi,

Ik heb een Java applicatie die ik graag met een launcher vanaf de desktop wil starten.

Ik heb een Java app uitgepakt  in de directory /home/peter/IBJts
Als ik een terminal open en eerst naar de directory ga met" cd IBJTS" en dan het volgende in de terminal type: "java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame ." dan start de Java app.
tot zo ver alles in orde.

Omdat ik niet steeds een terminal wil openen en alles wil intypen, wil ik graag een launcher vanaf de desktop.

In de directory /IBJts heb ik een file gemaakt IBJts.sh met de volgende inhoud:
"java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame ."

met chmod +x IBJts.sh heb ik de file  geschikt gemaakt om als applicatie te kunnen starten (hoop dat ik het goed zeg)
Als ik nu baar de directory ga en dubbel klik op IBJts.sh krijg ik een pop-up venster met de vraag Do you want to run "IBJts.sh", or display its contents? met de mogelijkheden Run in Terminal, Display, Cancel en Run.
Door op Run te klikken start de Java app.

Wat moet ik nu doen om een launcher te maken vanaf de desktop?

Klik rechtermuis in desktop, script, create new launcher
Type: application
Name: test1
Command: home/peter/IBJts/IBJts.sh

En nu gebeurt er niets?!?!?
Hoe los ik dit op?

Thx

Offline axelv

  • Lid
Re: newbie, launch een script
« Reactie #1 Gepost op: 2012/06/10, 14:28:40 »
uw bestand moet er als volgt uit zien:
#!/bin/bash
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .
de java -cp .... lijn moet 1  regel zijn. Het bestandje bestaat dus uit 2 regels.
Uitvoerbaar maken.

Opstarten doe je:
Type: application
Name: test1
Command: sh ~/IBJts/IBJts.sh  (/home/peter/ is het zelfde als ~)
« Laatst bewerkt op: 2012/06/10, 14:30:19 door axelv »

Offline chicky

  • Lid
Re: newbie, launch een script
« Reactie #2 Gepost op: 2012/06/10, 14:38:24 »
bedankt voor de snelle reactie, maar het probleem is nog niet helemaal uit de wereld.

Ik hen het script bestand aangepast door er "!/bin/bash" bij te voegen en het bestand met chmod opnieuw uitvoerbaar te maken.

Ik krijg nu een foutmelding:
There was an error launching the application.
Details: Failed to execute child process "~/IBJts/IBJts.sh" (No such file or directory)

Dat is raar want het bestand en de directory bestaan wel degelijk

Offline axelv

  • Lid
Re: newbie, launch een script
« Reactie #3 Gepost op: 2012/06/10, 14:41:54 »
Kan het zijn dat je de "#" vergeten bent?
Het moet
#!/bin/bash
zijn

Offline chicky

  • Lid
Re: newbie, launch een script
« Reactie #4 Gepost op: 2012/06/10, 14:48:35 »
Hoi Alexv

Jammer genoeg staat de # er gewoon bij.
een typo bij het vorige bericht

Offline axelv

  • Lid
Re: newbie, launch een script
« Reactie #5 Gepost op: 2012/06/10, 15:06:37 »
Hmm probeer dit eens :)

#!/bin/bash
cd $HOME/IBJts/
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .

Re: newbie, launch een script
« Reactie #6 Gepost op: 2012/06/10, 15:11:34 »
En het is niet mogelijk om gewoon op de jar te dubbelklikken of rechtsklik -> "openen met OpenJDK"?

Offline chicky

  • Lid
Re: newbie, launch een script
« Reactie #7 Gepost op: 2012/06/10, 15:33:46 »
Hmm probeer dit eens :)

#!/bin/bash
cd $HOME/IBJts/
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .

De fout "Details: Failed to execute child process "/home/peter/IBJts/IBJts.sh" (No such file or directory)" blijft.

Het lijkt er op dat door het toevoegen van #!/bin/bash, er in een andere dir wordt gezocht?!


Offline chicky

  • Lid
Re: newbie, launch een script
« Reactie #8 Gepost op: 2012/06/10, 15:35:58 »
En het is niet mogelijk om gewoon op de jar te dubbelklikken of rechtsklik -> "openen met OpenJDK"?

De regel in het script roept 7 jar bestanden aan. Om nu 7 keer rechter muis knop te klikken is nu net niet wat ik graag wil.
ik krijg trouwens ook de volgende foutmelding als ik wel op een van de jar bestanden klik en open met OpenJDK

The file '/home/peter/IBJts/jts.jar' is not marked as executable.  If this was downloaded or copied from an untrusted source, it may be dangerous to run.  For more details, read about the executable bit.

Offline axelv

  • Lid
Re: newbie, launch een script
« Reactie #9 Gepost op: 2012/06/10, 15:50:31 »
Wat gebeurt er als je het commando ingeeft in de terminal en niet via de launcher?
Open terminal:
sh ~/IBJts/IBJts.shJe script is nog altijd uitvoerbaar?

Moest dit werken, dan weten we dat het ligt aan de launcher...

Re: newbie, launch een script
« Reactie #10 Gepost op: 2012/06/10, 15:50:59 »
Dan moet je 'm nog als uitvoerbaar markeren: Rechtsklik -> Eigenschappen -> tabblad Rechten.

Offline chicky

  • Lid
Re: newbie, launch een script
« Reactie #11 Gepost op: 2012/06/10, 15:57:16 »
Wat gebeurt er als je het commando ingeeft in de terminal en niet via de launcher?
Open terminal:
sh ~/IBJts/IBJts.shJe script is nog altijd uitvoerbaar?

Moest dit werken, dan weten we dat het ligt aan de launcher...

na intypen van sh ~/IBJts/IBJts.shkrijg ik de foutmelding:

/home/peter/IBJts/IBJts.sh: 2: cd: can't cd to /IBJts/
Exception in thread "main" java.lang.NoClassDefFoundError: jclient/LoginFrame
Caused by: java.lang.ClassNotFoundException: jclient.LoginFrame
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: jclient.LoginFrame. Program will exit.
: not found/IBJts/IBJts.sh: 4: /home/peter/IBJts/IBJts.sh:

De inhoud van het script is
#!/bin/bash
cd $home/IBJts/
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .

Het lijkt dus toch aan het script te liggen.
Maar wat moet het dan wel zijn. en waarom moet het script beginnen met
#!/bin/bash



Re: newbie, launch een script
« Reactie #12 Gepost op: 2012/06/10, 16:08:28 »
Probeer nog eens de jar uitvoerbaar te maken om daarna te dubbelklikken. Misschien werkt t wel zonder poespas.

Offline chicky

  • Lid
Re: newbie, launch een script
« Reactie #13 Gepost op: 2012/06/10, 16:14:25 »
Probeer nog eens de jar uitvoerbaar te maken om daarna te dubbelklikken. Misschien werkt t wel zonder poespas.

Als ik de regel die nu in het script staat, netjes in een terminal type werkt alles netjes. Maar daar gaat het niet om.
Of de jar bestanden afzonderlijk wel of niet uitvoerbaar zijn met OpenJDK is dan toch niet belangrijk?

Ik wil graag een icoontje op de desktop die ik kan aanklikken en dat dan alles in 1 keer ook zonder poespas werkt.

Offline Timo

  • Forumteam
    • timo.diedering
Re: newbie, launch een script
« Reactie #14 Gepost op: 2012/06/10, 16:15:38 »
Ja. Dat is wèl belangrijk. Alle .jar's uitvoerbaar markeren.

Re: newbie, launch een script
« Reactie #15 Gepost op: 2012/06/10, 16:19:04 »
Probeer nog eens de jar uitvoerbaar te maken om daarna te dubbelklikken. Misschien werkt t wel zonder poespas.

Als ik de regel die nu in het script staat, netjes in een terminal type werkt alles netjes. Maar daar gaat het niet om.
Of de jar bestanden afzonderlijk wel of niet uitvoerbaar zijn met OpenJDK is dan toch niet belangrijk?

Ik wil graag een icoontje op de desktop die ik kan aanklikken en dat dan alles in 1 keer ook zonder poespas werkt.
De ervaring leert dat wanneer je de "hoofd"-jar opstart, de andere automatisch gevonden worden. En als dat zo is, dan hoef je alleen maar een verwijzing naar dat ene jar-bestand op je desktop te zetten en hoef je niet aan de slag met scriptjes.

Offline axelv

  • Lid
Re: newbie, launch een script
« Reactie #16 Gepost op: 2012/06/10, 20:59:34 »
De inhoud van het script is
#!/bin/bash
cd $home/IBJts/
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .
Hmm ik zie dat je $home hebt getypt (typo?): dit moet sowieso $HOME zijn, dus MET hoofdletters!
Normaal gezien, zou er dan geen fout in mogen zitten,... normaal gezien  :evil:
Probeer deze keer:
#!/bin/sh
cd $HOME/IBJts/
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .
(dit zijn drie lijnen in het script, vergeet niet uitvoerbaarheid te controleren)

Maar wat moet het dan wel zijn. en waarom moet het script beginnen met
#!/bin/bash
Omwille van deze reden: http://en.wikipedia.org/wiki/Shebang_(Unix)
« Laatst bewerkt op: 2012/06/10, 21:02:03 door axelv »

Offline chicky

  • Lid
Re: newbie, launch een script
« Reactie #17 Gepost op: 2012/06/10, 21:22:56 »
De inhoud van het script is
#!/bin/bash
cd $home/IBJts/
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .
Hmm ik zie dat je $home hebt getypt (typo?): dit moet sowieso $HOME zijn, dus MET hoofdletters!
Normaal gezien, zou er dan geen fout in mogen zitten,... normaal gezien  :evil:
Probeer deze keer:
#!/bin/sh
cd $HOME/IBJts/
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .
(dit zijn drie lijnen in het script, vergeet niet uitvoerbaarheid te controleren)

Maar wat moet het dan wel zijn. en waarom moet het script beginnen met
#!/bin/bash
Omwille van deze reden: http://en.wikipedia.org/wiki/Shebang_(Unix)
[/quote


Ik heb geprobeerd home met kleine en grote letters. Geen verschil  >:(

Als ik in het script de regels
#!/bin/bash
cd $HOME/IBJts/
weghaal en het script in bautilus in de directory home/peter/IBJts dubbelklik, dan opend het script direct en gaat alles goed.
als ik de regels
#!/bin/bash
cd $HOME/IBJts/
in het script er in laat staan, opent het script niet. Het lijkt dus te liggen aan de verwijzing baar de directory.

In antwoord op de opmerking van Cumulus007, ik heb alle jar files executable gemaakt (selecteren, rechtermuisknop, properties, permissions execute) maar dit heeft ook niet geholpen.
Als ik een jar file rechtermuis, OpenJDK klik, gebeurt er helemaal niets.

Offline chicky

  • Lid
Re: newbie, launch een script
« Reactie #18 Gepost op: 2012/06/10, 21:24:02 »
De inhoud van het script is
#!/bin/bash
cd $home/IBJts/
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .
Hmm ik zie dat je $home hebt getypt (typo?): dit moet sowieso $HOME zijn, dus MET hoofdletters!
Normaal gezien, zou er dan geen fout in mogen zitten,... normaal gezien  :evil:
Probeer deze keer:
#!/bin/sh
cd $HOME/IBJts/
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .
(dit zijn drie lijnen in het script, vergeet niet uitvoerbaarheid te controleren)

Maar wat moet het dan wel zijn. en waarom moet het script beginnen met
#!/bin/bash
Omwille van deze reden: http://en.wikipedia.org/wiki/Shebang_(Unix)


Ik heb geprobeerd home met kleine en grote letters. Geen verschil  >:(

Als ik in het script de regels
#!/bin/bash
cd $HOME/IBJts/
weghaal en het script in nautilus in de directory home/peter/IBJts dubbelklik, dan opent het script direct en gaat alles goed.
als ik de regels
#!/bin/bash
cd $HOME/IBJts/
in het script er in laat staan, opent het script niet. Het lijkt dus te liggen aan de verwijzing naar de directory.

In antwoord op de opmerking van Cumulus007, ik heb alle jar files executable gemaakt (selecteren, rechtermuisknop, properties, permissions execute) maar dit heeft ook niet geholpen.
Als ik een jar file rechtermuis, OpenJDK klik, gebeurt er helemaal niets.

Re: newbie, launch een script
« Reactie #19 Gepost op: 2012/06/10, 21:44:18 »
Ik ben er niet echt bedreven in, dat shellscripten, maar moet de PATH-variabele niet gewoon ingesteld worden?

Offline axelv

  • Lid
Re: newbie, launch een script
« Reactie #20 Gepost op: 2012/06/10, 21:50:49 »
Ja dat kan zijn... Je kan het volgende nog proberen:
#!/bin/sh
cd ~/IBJts/
set classpath=%classpath%:.:
java -cp jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .

Of:
#!/bin/sh
java -cp ~/IBJts/jts.jar:hsqldb.jar:jcommon-1.0.12.jar:jfreechart-1.0.9.jar:jhall.jar:other.jar:rss.jar -Xmx512M -XX:MaxPermSize=128M jclient.LoginFrame .
Probeer telkens deze scripts in de terminal uit te voeren:
sh ~/IBJts/IBJts.sh