Toon posts:

[JAVA] System console

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo iedereen, ik moest posten want ik vind het antwoord niet.... (analoog met het zinnetje van samson)... [jaja, slap me, tis maandag middag é , plz :p ]

Probleemstelling:
Ik heb een uitvoerbare JAR file met zelf gemaakte Manifest file. M'n programma voert hij perfect uit, en draait alles wat je wilt.

Nu wil ik echter wel in dat "dos"-achtige console venster m'n System.out.println(...); zien. Daarin slaag ik echter niet via de JAR-file.

ik start via m'n main methode de klasse start op, die afstamt van een JFrame()

Wat heb ik er al aan gedaan:

gezocht in google en hier op gathering op: manifest, jar, system.out.println, java console, ...
maar het enige wat ik soms vind is het gebruik van een System.err.println(...);
nu heb ik dat ook al geprobeerd, maar ik krijg m'n dos venstertje niet. Ik zou deze graag gebruiken als debug info.

Andere oplossingen:
Log schrijven op harde schijf :: zou'k niet graag hebben. gewoon plain alles weergeven in dat venstertje.
Andere plugins installeren :: weer liever niet. ik zou echt dat dos / console venster willen zien met m'n output.

extra info voor jullie:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import generator.*;
import gui.*;
public class main 
{

    /**
     * @param args
     */
    public static void main(String[] args) 
    {
    Start start=new Start();
    start.setVisible(true);
                System.err.println("debug:");
                System.out.println("debug:");
    }
}


de manifest file:
code:
1
2
3
4
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.2
Created-By: 1.5.0_04-b05 (Sun Microsystems Inc.)
Main-Class: main


Dus mijn vraag:

Hebben jullie tips hoe ik met een uitvoerbare JAR een console venster kan oproepen waarin ik m'n println(..); kan tonen?

EDIT:
ik kan het dos venster krijgen door middel:
code:
1
java -jar "C:\Documents and Settings\krbb\My Documents\htmlGenerator\dist\htmlGenerator.jar"


Nu herphraseer ik m'n vraag:

Is het soms mogelijk om het console venster op te roepen vanuit m'n java applicatie zelf, a.d.h.v. paramaters via die main string of nog een andere manier.?

[ Voor 12% gewijzigd door Verwijderd op 25-07-2005 12:39 . Reden: extra info ]


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Volgens mij worden jar files uitgevoerd door javaw in plaats van java. Die alloceert geen console waarop stdout en stderr op getoond worden. Ofwel, dat console zul je niet tezien krijgen, tenzij je vanuit een bestaande command console je jar uitvoert (start <jarfile>).

Ik heb geen idee of het met java mogelijk is om je output streams the redirecten naar een memory stream en dan deze in een textfield op een eigen frame te tonen. Maar ik verwacht dat je in die hoek wellicht een oplossing kunt vinden.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • Sammy
  • Registratie: Maart 2000
  • Laatst online: 03-05 10:41
Open een dosbox, voer uit:

java -jar naamvan.jar

en de system.out.println's verschijnen in de dosbox. Overigens, als je bedoelde dat je een dosbox te zien wil krijgen na het dubbelklikken op een jar: daar heb ik geen antwoord op :) . Hoop dat dit je ook helpt.

[ Voor 4% gewijzigd door Sammy op 25-07-2005 12:40 ]


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Met :

System.setOut()

Kan je de standaard output redirecten naar alles wat java.io.PrintStream extends.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


Verwijderd

Topicstarter
ronaldmathies schreef op maandag 25 juli 2005 @ 12:40:
Met :

System.setOut()

Kan je de standaard output redirecten naar alles wat java.io.PrintStream extends.
Dit gaat in de richting wat ik zou willen, maar naar waar redirect is zodat het log direct te voorschijn komt? Ik heb es zitten neuzen in de javadoc en op google, maar ik zie nog steeds niet in hoe je platformonafhankelijk een console kunt gebruiken waarnaar je dit log kunt sturen.

  • Sammy
  • Registratie: Maart 2000
  • Laatst online: 03-05 10:41
Is het soms mogelijk om het console venster op te roepen vanuit m'n java applicatie zelf, a.d.h.v. paramaters via die main string of nog een andere manier.?
Nee, want een console is niet verbonden met het uitvoeren van een jar-bestand. Zoals je hebt kunnen zien kun je wel een jar-bestand uitvoeren vanuit de console, waarmee de system.out ook aan die console gebonden wordt. Maar je kunt niet een jar uitvoeren en verwachten dat java jou over een console kan laten beschikken. Laat me eens een wedervraag stellen: wat wil je bereiken? Er zijn bv. voor het debuggen betere opties dan system.out.println(), zoals Log4J.

Verwijderd

Topicstarter
Laat me eens een wedervraag stellen: wat wil je bereiken? Er zijn bv. voor het debuggen betere opties dan system.out.println(), zoals Log4J.
Ik weet dat er betere debuggers bestaan, maar toch bedankt voor je raad! ;)

je uitleg heeft echter een duidelijkheid opgeworpen. nu ik weet dat het niet kan, (wat spijtig is), maak ik gewoon twee links. één met een debug informatie en één om het programma standaard uit te voeren.

Wat mij betreft mag er op dit topic een slotje op.

  • Sammy
  • Registratie: Maart 2000
  • Laatst online: 03-05 10:41
Wat je dus nog wel zou kunnen doen is zelf een 'console' emuleren. Bijvoorbeeld een panel maken, die zoals Infinitive ronaldmathies aangaf PrintStream extend en die vervolgens als parameter aan setOut() geven. Geen idee hoeveel moeite dit gaat kosten, maar het moet te doen zijn.

[ Voor 7% gewijzigd door Sammy op 25-07-2005 13:04 ]

Pagina: 1