[Java] Batch aanroepen werkt in Netbeans, niet in Eclipse

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Momenteel heb ik te maken met een probleem waar ik sinds gisteravond mee bezig ben. Ik heb een stukje code geschreven voor het aanroepen van een batch, dit werkt prima in Netbeans:

code:
1
2
3
4
5
6
7
8
9
public static void generateXLS()
{
        try {
        String[] command = { "cmd.exe", "/C", "Start", "c:\\exports\\convert.bat" };
        Process p = Runtime.getRuntime().exec(command);
        } catch (IOException e) {
           e.printStackTrace();
       }
}


Vervolgens kopiëer en plak ik dezelfde code in mijn Eclipse-project, niks noppes nada. De batch wordt niet getriggerd. Geen foutmeldingen tijdens compilen, ook niet tijdens runnen, de batch gaat alleen niet af. Nu heb ik gecontroleerd of de functie zelf wel afgaat, dat gaat goed. Ook springt hij niet naar de catch, dit is getest door onderaan een stukje code te plaatsen die wordt gedraaid.

Ik heb geen idee waar dit nog aan kan liggen. Gaat om een webapplicatie, gebruikte tools voor het project zijn Eclipse, Maven en de Google Web Toolkit.

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Kijk eens goed hiernaar:
http://www.javaworld.com/...2-2000/jw-1229-traps.html

Bij mijn weten kan je een batch-file direct aanroepen zonder dit via CMD te launchen. Daarnaast is de combinatie van cmd en start ook nogal vaag.

CMD launched een nieuw command-prompt, waarna start nog eens een nieuw proces start. CMD returned dus bijna direct. Er gaat dus waarschijnlijk iets fout in de batchfile zelf, wat je echter niet kan zien omdat je de batchfile op een dusdanig manier start dat er geen feedback is naar het opstartende programma.

Let dan wel op het uitlezen van de standaard output (en evt error), aangezien een programma dan 'vastloopt' als de buffer vol is.

[ Voor 62% gewijzigd door Remus op 29-04-2009 15:09 ]