Avatar billede acw Nybegynder
26. februar 2005 - 21:56 Der er 4 kommentarer og
1 løsning

ant <java> eksekvering af consoleprogram med brugerinput

Hej.

Jeg er ved at lave et ant script der compiler en client, der ka requeste statusmeddelelser fra en server (dvs brugeren ka skrive hvilken msg man vil have). Men når jeg prøver at køre ant scriptet, hænger det bare, uden at vise om den har åbnet programmet.

---- Det nødvendige i min build.xml ---------

    <target name="executeClient" depends="executeServer">
        <java
            fork="true"
            classpath="${client}\${out}"
            classname="StatusClient1">
        </java>
    </target>

-----------------------------------------

i mit StatusClient1 har jeg en

BufferedReader(new InputStreamReader(System.in));

Kan det have noget med det at gøre?

Tak, Andreas
Avatar billede arne_v Ekspert
26. februar 2005 - 22:04 #1
Prøv:

<target name="executeClient" depends="executeServer">
        <java
            fork="true"
            classpath="${client}\${out}"
            classname="StatusClient1">
            <arg line=" < input.dat"/>
        </java>
    </target>

og se om du kan få den til at læse fra input.dat

Det er kun et gæt, men værd at prøve.
Avatar billede acw Nybegynder
26. februar 2005 - 22:16 #2
jeg kan godt få hul igennem til min main metode, men hvis jeg lige venter ca 10sek, printer ant:

executeClient:
    [java] Enter command:
    [java] wrong command
    [java] java.lang.NullPointerException
    [java]    at StatusClient1.go(Unknown Source)
    [java]    at StatusClient1.<init>(Unknown Source)
    [java]    at StatusClient1.main(Unknown Source)
    [java] Exception in thread "main"
    [java] Java Result: 1

-------------------------

"Enter command" kommer fra mit program (her burde man kunne indtaste kommando); "wrong command" er hvad serveren sender tilbage
Avatar billede arne_v Ekspert
26. februar 2005 - 23:02 #3
Jeg har gransket lidt i Ant docs.

Hvis du bruger en Ant version > 1.6.2 så prøv:

<target name="executeClient" depends="executeServer">
        <java
            fork="true"
            classpath="${client}\${out}"
            classname="StatusClient1">
            <redirector input="input.dat"/>
        </java>
    </target>
Avatar billede arne_v Ekspert
26. februar 2005 - 23:03 #4
>= 1.6.2 selvfølgelig
Avatar billede acw Nybegynder
22. marts 2005 - 09:58 #5
lukker og slukker. Kunne ikke få det til at virke
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester