2016-07-02 2 views
-1

Ich entwickle ein Projekt in Java. Wenn ich das Projekt in .jar exportieren, muss ich mysqld starten, um meine Datenbank auszuführen. Ich starte mysqld mit einer .bat-Datei, die diese Datei jedes Mal öffnen muss, wenn der Benutzer die Hauptdatei öffnet, um auf die Datenbank zuzugreifen. Der Batchdateiinhalt lautet:Öffnen ".bat" Datei in Java-Code

. \ Data \ bin \ mysqld.exe - keine-defaults --console --port = 3306 --collation-server = utf8_persian_ci --character-set-server = utf8 - socket = mysql.sock --basedir =. \ daten --datadir =. \ daten \ daten --pid-file = ". \ daten \ daten \ MysqldResource.pid pause

Der Datenordner enthält Datenbankdateien und im selben Ordner mit .jar und .bat-Dateien platziert wird.

ich weiß nicht, wie die .bat-Datei aus dem Java-Code zu öffnen.

The image of project folder "After Installation"

Der Code zum Ausführen der .bat-Datei wird unter eines der Projektpakete geschrieben.

Bitte helfen Sie mir. Danke.

+0

Ich bin nicht sehr klar über Ihre Frage, aber anscheinend suchen Sie nach 'ProcessBuilder', um eine' .bat' Datei auszuführen? – Wilson

+0

Ja, aber die Adressierung ist ein wichtiges Problem. Ich kann nicht absolut ansprechen. –

+0

scheint Sie nach einer Möglichkeit zu suchen, den Weg eines laufenden Glas zu bekommen. Siehe http://stackoverflow.com/questions/320542/how-to-get-the-path-of-a-running-jar-file, ob kann helfen – Wilson

Antwort

1

Sie müssen die Runtime.exec() Methode verwenden:

Process batch = Runtime.getRuntime().exec("cmd /c D:\\Projects\\Terminal\\project Deployment\\run_server.bat");

Überprüfen Sie den Pfad für die Richtigkeit; Es empfiehlt sich, einen absoluten Pfad zu verwenden. Andernfalls ist zu beachten, dass der Startpfad möglicherweise von Ihrem Benutzer ausgeht, je nachdem, wie Java ausgeführt wird.

+0

Das Problem ist hier, dass ich keinen absoluten Pfad dafür verwenden kann. Dies ist ein Produkt. Ich möchte darauf eingehen, wie ich nach dem Erstellen von Setup kein Problem habe. –

+1

@MustafaMohammadi mit einem absoluten Pfad ist dann nicht dein Problem, es ist, wie man den Pfad heraus findet: siehe Wilsons Kommentar oben für einen Weg. – Viruzzo