Exen starter

Hallo Ihr hier im java bereich.
Ich habe mal folgende Frage man kann ja meines Wissens Auch Hompages in Java schreiben.

Und da wollte ich fragen kann ich über eine Javer hp exen starten.

Die exe ist eine TS³ server .exe die auf einem Root leuft kann ich über einen Code diese exe starten wen ich die seite aufrufen und sie nicht gestartet ist
 
Hi,

bei Exen kann man beim build wählen ob nur eine laufende Instanz erlaubt sein soll.
Bzw. bei C++ müstte das irgendwie in DeinProjekt_private.h oder ähnlichem eintragbar sein.

Ich hoffe du arbeitest mit JEE und nicht mit Applets, ansonsten würde das ganze ziemlich knifflig.

Zum simplen starten eines Programms (z.B. .EXE-Anwendung) hab ich gerade noch nen alten Quellcode von mir gefunden:

Java:
import java.io.IOException; 

public class ProgrammStarter {

    // Abfragen von Betriebssystem-spezifischen Variablen
    String  zeilenvorschub = System.getProperty("line.separator"),  // Trennzeichen bei Pfadangaben: z.B.: "\"
            trennzeichen = System.getProperty("file.separator"),    // Funktionszeichen für Zeilenvorschub: z.B.: "\n\r" 
            windowsVerzeichnis = System.getenv("windir");          // Windows-Verzeichnis: z.B.: "C:\Windows"
    
    public ProgrammStarter(){
        System.out.println( "Mit diesem Programm kannst du ein beliebiges externes Programm (also eine EXE-Datei) starten"+zeilenvorschub+
                            "(bei BAT-Dateien muss die Endung '.bat' angegeben werden!)"+zeilenvorschub);
    }
    
    public void programmStarten(String name){
        Runtime rt = Runtime.getRuntime();  // Objekt der Klasse "Laufzeit" wird beschafft
                                            // statische Factory-Methode (Ersetzt den Konstruktor)
        String pfad = "C:"+trennzeichen+"Program Files"+trennzeichen+"BlueJ"+trennzeichen;  // Den Pfad musst du natürlich für andere Anwendungen anpassen!
        // um BlueJ zu starten, gib beim Methodenaufruf "bluej" an
        try{ // versuche wenn Programm installiert ist 
            rt.exec(pfad+name);  // gewünschtes Programm wird ausgeführt
            System.out.println("Das Programm "+name+" wird ausgeführt.");
        }
        catch(IOException e){ // Die "geworfene Exception" (der möglicherweise auftretende Fehler) "Programm nicht vorhanden"
                              // wird "abgefangen"
            System.err.println("Das Programm "+pfad+name+" existiert nicht.");
        }
    }
    
}

und nochmal in aller Kürze zusammengefasst:
Java:
Runtime.getRuntime().exec("notepad");
startet unter Windows einen einfachen Texteditor.
(unter Linux ist "gedit" das Pendant)

Gruß
 
Mein Beispiel ist für den Desktop gedacht, für Tomcat musst du es schon in JSP, JSF, Servlet einbauen,
oder was genau meinst / bezweckst du?
 
Mh also ich will bezwecken.
Wen ich die seite mit dem Code von meinem rechner aus aufrufe und der Teamspeack down ist ihn dann mit dem aufruf der Seite wieder zu starten
 
Wie gesagt : mit JSP / JSF *oder auch Perl via CGI* ist das durchaus möglich. Die Frage ist hier eher : wie stellst du dir das vor und welche Vorraussetzungen sind vorhanden ?
Auch gestatte mir die Frage : kennst du dich mit dem was du da vorhast auch aus oder willst du das nur irgendwie hinbekommen ?

Was das von JavaDev angesprochene MULTI-Instanzieren angeht wirst du bei FREMD-Programmen *was TS3 für dich ja nun mal ist* Probleme bekommen. Natürlich gibt es Möglichkeiten laufenden Prozesse auszulesen und diesen zu prüfen *sowohl unter Windows *was auf dich zutreffen wird da du ja von EXE-Files sprichst* als auch unter Unix* und bei NICHT-Vorhandensein das entsprechende Binary auch zu starten. Frage hier : ist das zu startene Binary auch dafür ausgelegt oder müssen noch weitere Vorraussetzungen erfüllt sein damit es anläuft *bestes Beispiel : GUI unter einem Unix-Server auf Runlevel 3* ?

Ein paar mehr Informationen als nur : will über HP einen Prozess auf meinem Server starten ... wirst du uns schon liefern müssen. Nach deinen bisherigen Aussagen würden mir spontan gleich 4 Möglichkeiten einfallen so etwas umzusetzen. Welche für dich am besten ist kommt nun darauf an wie du es dir vorstellst umzusetzen.
 
Zurück