[wine]Java programma starten via cmd prompt

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 15:01
Ik heb een programma wat zichzelf steeds update via java. Dit doet hij door als opstartprompt een .cmd aan te roepen met de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@echo off
@rem Start commando voor download applicatie
@rem Deze file heeft parameters:
@rem start met deploy appname 
if %1x==x goto :ERROR_MSG 

@rem pass parameters along
SETLOCAL
SET EHCPARAMS=-Ddeploy.app=%1 -Da.p.1=%2 -Da.p.2=%3 -Da.p.3=%4 -Da.p.4=%5 -Da.p.5=%6 -Da.p.6=%7 -Da.p.7=%8 -Da.p.8=%9

@rem goto dir where this file resides, then %CD% will expand to current directory.
cd %~dp0

@rem perform pre flight checks
"%CD%\jres\sun\1.4.1\bin\javaw.exe" -classpath "%CD%\Check.jar" blabla.Check

@rem do no use redirection, it will prevent starting a second time sometimes.
"%CD%\jres\sun\1.4.1\bin\javaw.exe" -classpath "%CD%\lib\ant-launcher.jar" %EHCPARAMS% "-Dant.home=%CD%" org.apache.tools.ant.launch.Launcher -verbose -l ..\config\deploy.log

ENDLOCAL
goto :END

:ERROR_MSG
echo Geef applicatie als parameter mee !

:END


Dit wil ik met wine ook werkend krijgen, maar ik kan niet achterhalen hoe ik dit nu doe. Als ik de cmd aanroep via wine krijg ik het volgende te zien:

code:
1
2
3
fixme:win:RegisterDeviceNotificationA (hwnd=0x128248, filter=0x93e638,flags=0x00000001) returns a fake device notification handle!
fixme:win:UnregisterDeviceNotification (handle=0xcafecafe), STUB!
... meerdere keren herhalen


Vervolgens wordt alles gesloten. Ik heb werkelijk waar geen enkel idee waar ik moet beginnen met zoeken om het werkend te krijgen, waardoor ik verder niets kan proberen.

De snelkoppeling in windows heeft de volgende aanhef:
C:\blabla\downloader\deploy.cmd Client

Hoe kan ik dit verder aanpakken. Is er evt. ook een manier om rechtstreeks op ubuntu te draaien? Het is tenslotte een java-app. Maar ik verwacht dat deze weer afhankelijk is van windows dingen...

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 15:54

Hero of Time

Moderator LNX

There is only one Legend

Als ik het goed zie, wordt er Apache Ant gebruikt en dat is prima te draaien op Linux. Persoonlijk zou ik kijken of je het script kan ombouwen naar een bash/shell script en het op die manier op te lossen. Anders via een terminal 'wine cmd' uitvoeren en dan handmatig het script afvuren. Dus niet alles op een regel dumpen, maar dus echt handmatig doen. Het is vanzelfsprekend dat je de java versie in Wine beschikbaar moet zijn. Let daarbij ook op het versienummer, je gebruikt 1.4.1, het heeft dus weinig nut om 1.6 te installeren.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Eärendil
  • Registratie: Februari 2002
  • Laatst online: 14:24
Je zou in de directory waar nu deploy.cmd staat een shell script kunnen plaatsen dat ongeveer hetzelfde doet:
Bash: deploy.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

# Start commando voor download applicatie
# Deze file heeft parameters:
# start met deploy appname 
if [ ! -n $1 ] ; then
    echo "Geef applicatie als parameter mee !"
    exit
fi

# pass parameters along
EHCPARAMS="-Ddeploy.app=$1 -Da.p.1=$2 -Da.p.2=$3 -Da.p.3=$4 -Da.p.4=$5 -Da.p.5=$6 -Da.p.6=$7 -Da.p.7=$8 -Da.p.8=$9"

# dir where this file resides, then $CD will expand to this directory.
D=$(dirname $0)
CD=$(cd "$D"; pwd)

# perform pre flight checks
$JAVA_HOME/bin/java -classpath "$CD/Check.jar" blabla.Check

# do no use redirection, it will prevent starting a second time sometimes.
$JAVA_HOME/bin/java -classpath "$CD/lib/ant-launcher.jar" "$EHCPARAMS" -Dant.home="$CD" org.apache.tools.ant.launch.Launcher -verbose -l "$CD/../config/deploy.log"


Dat kan je dan (in een Linux terminal) aanroepen met:
/dir/naar/deploy.sh Client

Acties:
  • 0 Henk 'm!

Verwijderd

Totaal andere oplossing; Maar is het wellicht niet handiger om Java Webstart te gebruiken voor het deployen en updaten van je applicatie ? Geen problemen met scripts e.d. voor verschillende platformen.