Kan starta Java-app från genväg, inte från kommandorad[Löst]

Hjälp med installation och användning av program
GH68
Inlägg: 9
Blev medlem: 30 aug 2009, 08:12
OS: Ubuntu
Utgåva: 16.04 Xenial Xerus LTS

Kan starta Java-app från genväg, inte från kommandorad[Löst]

Inlägg av GH68 »

Jag har installerat tidningen Allt om mats "Datakokboken" under Wine och kan starta den från Wine-menyn. Jag la också till en genväg på skrivbordet, från Wine-menyn, och kan därmed stata den även genom att dubbelklicka på denna ikon. Jag skulle vilja kunna starta från kommandoraden för att, när jag sett att det funkar lokalt, kunna öppna kokboken i köket på min minimala netbook (vill inte installera hela kokboken på den) via SSH. Jag får det dock inte att funka på kommadoraden ens på datorn där det är installerat och där skrivbordsikonen funkar felfritt. Om jag väljar egenskaper för skrivbordsikonen ser jag följande:

Kod: Markera allt

env WINEPREFIX="/home/gunnar/.wine" wine "C:\Program Files\Allt om Mat\Datakokboken\jre1.6\bin\javaw.exe" -classpath cookbook.jar se.bonnier.bt.cookbook.CookBookMainGui
Därefter skriver jag in samma kodrad direkt på kommandoraden men får upp en dialogruta som heter "Java Virtual Machine Launcher" dialog box" med meddelanded "Could not find the main class. Program will exit". I kommandofönstret får jag följande:

Kod: Markera allt

Exception in thread "main" java.lang.NoClassDefFoundError: se/bonnier/bt/cookbook/CookBookMainGui
Caused by: java.lang.ClassNotFoundException: se.bonnier.bt.cookbook.CookBookMainGui
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Således borde jag skriva in något annat på kommandoraden för att starta kokboken. Finns det någon som har en idé om vad?
Senast redigerad av 1 GH68, redigerad totalt 9 gånger.
TicToc
Inlägg: 2266
Blev medlem: 27 dec 2006, 17:28
OS: Kubuntu
Utgåva: 20.04 Focal Fossa LTS

Re: Kan starta Java-app från genväg, inte från kommandorad

Inlägg av TicToc »

Hej,
varför använder du wine, är det inte betydligt enklare att köra programmet direkt i ubuntu?
Användarvisningsbild
jens.tinfors
Inlägg: 49
Blev medlem: 18 dec 2009, 17:09
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm
Kontakt:

Re: Kan starta Java-app från genväg, inte från kommandorad

Inlägg av jens.tinfors »

Om det är en java app så kan du kunna köra den utan wine, såhär:

Kod: Markera allt

java -cp </path/till/>cookbook.jar se.bonnier.bt.cookbook.CookBookMainGui
GH68
Inlägg: 9
Blev medlem: 30 aug 2009, 08:12
OS: Ubuntu
Utgåva: 16.04 Xenial Xerus LTS

Re: Kan starta Java-app från genväg, inte från kommandorad

Inlägg av GH68 »

ack för tipset att köra javan direkt i Linux, men tyvärr ger det felmeddelande.

Jag körde

Kod: Markera allt

java -cp .wine/drive_c/Program\ Files/Allt\ om\ Mat/Datakokboken/cookbook.jar se.bonnier.bt.cookbook.CookBookMainGui
och fick följande fel:

Kod: Markera allt

Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3550 or swt-win32 in swt.library.path, java.library.path or the jar file
	at org.eclipse.swt.internal.Library.loadLibrary(Library.java:254)
	at org.eclipse.swt.internal.Library.loadLibrary(Library.java:159)
	at org.eclipse.swt.internal.C.<clinit>(C.java:21)
	at org.eclipse.swt.widgets.Display.<clinit>(Display.java:133)
	at se.bonnier.bt.cookbook.SplashScreen.open(SplashScreen.java:29)
	at se.bonnier.bt.cookbook.CookBookMainGui.main(CookBookMainGui.java:483)
För att då återgå till min ursprungliga tanke så borde det ju vara enkelt att få det att funka från kommandoraden när jag vet kommandot som skrivbordsikonen utför. Enkelt för den som vet hur man gör, själv kan jag bara inte fatta varför jag inte ska köra kommandot exakt som det står i skrivbordsikonkommandot...
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Kan starta Java-app från genväg, inte från kommandorad

Inlägg av Konservburk »

GH68 skrev:För att då återgå till min ursprungliga tanke så borde det ju vara enkelt att få det att funka från kommandoraden när jag vet kommandot som skrivbordsikonen utför. Enkelt för den som vet hur man gör, själv kan jag bara inte fatta varför jag inte ska köra kommandot exakt som det står i skrivbordsikonkommandot...
Du befinner dig med största sannolikhet i fel katalog när du kör kommandot. Det går såklart lätt att rätta till genom att flytta sig till den korrekta katalogen med cd innan. Vad är du rätt katalog? Gissninsvis är det ~/".wine/drive_c/Program Files/Allt om Mat/Datakokboken/", men kolla upp det i genvägen om du vill vara helt säker.
GH68
Inlägg: 9
Blev medlem: 30 aug 2009, 08:12
OS: Ubuntu
Utgåva: 16.04 Xenial Xerus LTS

Re: Kan starta Java-app från genväg, inte från kommandorad

Inlägg av GH68 »

Konservburk skrev: Du befinner dig med största sannolikhet i fel katalog när du kör kommandot. Det går såklart lätt att rätta till genom att flytta sig till den korrekta katalogen med cd innan. Vad är du rätt katalog? Gissninsvis är det ~/".wine/drive_c/Program Files/Allt om Mat/Datakokboken/", men kolla upp det i genvägen om du vill vara helt säker.
Hej och tack! Det fungerade utmärkt när jag gick till den katalog du gissade på! Men hur ser jag det i genvägen? Jag vet att det i Windows finns något typ "körs i...", men det hittar jag inte på egenskaper på en skrivbordsikon. Jag hittar ju "Plats", men det är ju där själva genvägen ligger.

Jag hade ju gärna velat få det att funka från den katalog jag loggar in i, dvs min hemkatalog, för att lättare fixa det med ssh. Lösningen borde vara att peka ut cookbook.jar med full sökväg:

Kod: Markera allt

env WINEPREFIX="/home/gunnar/.wine" wine "C:\Program Files\Allt om Mat\Datakokboken\jre1.6\bin\javaw.exe" -classpath /home/gunnar/.wine/drive_c/Program\ Files/Allt\ om\ Mat/Datakokboken/cookbook.jar se.bonnier.bt.cookbook.CookBookMainGuii
Med detta fungerar uppstarten en liten bit, men sedan stannar det av och jag får följande felmeddelande
java.sql.SQLException: Database './recipeDB-2009' not found.
För att ändå få det att funka har jag följande idé, att helt enkelt exekvera genvägen
/home/gunnar/Skrivbord/Datakokboken.desktop
Men hur exekverar jag denna? Hur gör jag en "run" av denna skrivbordsgenväg som motsvarar att dubbelklicka på den? Om jag skriver följande:

Kod: Markera allt

sh /home/gunnar/Skrivbord/Datakokboken.desktop
så får jag åter felmeddelande:
/home/gunnar/Skrivbord/Datakokboken.desktop: 3: [Desktop: not found
Exception in thread "main" java.lang.NoClassDefFoundError: se/bonnier/bt/cookbook/CookBookMainGui
Caused by: java.lang.ClassNotFoundException: se.bonnier.bt.cookbook.CookBookMainGui
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
/home/gunnar/Skrivbord/Datakokboken.desktop: 8: Files/Allt: not found
Samma händer om jag först byter till skrivbordskatalogen. Någon idé om hur jag kör en skrivbordsgenväg från kommandoraden så att det blir som att dubbelklicka på den?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Kan starta Java-app från genväg, inte från kommandorad

Inlägg av Konservburk »

Skapa ett litet skript som innehåller de båda kommandona som behövs, dvs först cd till rätt katalog och sedan exec följt av hela den där wine-harangen...

Kod: Markera allt

#!/bin/sh
cd ~/".wine/drive_c/Program Files/Allt om Mat/Datakokboken/"
exec wine jre1.6/bin/javaw.exe -cp cookbook.jar se.bonnier.bt.cookbook.CookBookMainGui
Förslagsvis lägger du skriptet i en katalog som du kallar ~/bin och så glömmer du inte att göra skriptet körbart heller:

Kod: Markera allt

chmod +x ~/bin/skriptet.sh
GH68
Inlägg: 9
Blev medlem: 30 aug 2009, 08:12
OS: Ubuntu
Utgåva: 16.04 Xenial Xerus LTS

Re: Kan starta Java-app från genväg, inte från kommandorad

Inlägg av GH68 »

Ett jättestort tack, Konservburk! Det funkar utmärkt, och nu är målet att få upp kokboken på min netbook, som med sina 4GB externminne inte riktigt har plats själv för kokboken, uppnått genom ett enkelt kommando för att anropa skriptet "kokbok" (som innehåller de kodrader Konservburk visade) via ssh:

Kod: Markera allt

ssh gunnar@<datornamn> -X /home/gunnar/bin/kokbok
Tack till alla andra som också bidragit med svar.
Skriv svar

Återgå till "Program"