2016-07-02 5 views
-1

私はのJavaでプロジェクトを開発しています。 .jarでプロジェクトをエクスポートすると、mysqldからデータベースを起動する必要があります。 mysqldを.batファイルを使って起動します。このファイルは、ユーザがメインファイルを開いてデータベースにアクセスするたびに開く必要があります。 \ data \ bin \ mysqld.exe --no-defaults --console --port = 3306 --collat​​ion-server = utf8_persian_ci --character-set-server = utf8 - バッチファイルの内容は、Javaコードで ".bat"ファイルを開く

です。 \ data \ data --pid-file = "。\ data \ data \ MysqldResource.pid ポーズ

データフォルダにはデータベースファイルが含まれています。 .jarと.BATファイルと同じフォルダに配置される。

私はJavaコードからの.batファイルを開く方法を知りません。

The image of project folder "After Installation"

.batファイルを実行するコードは、プロジェクトパッケージの1つの下に書き込まれます。

私を助けてください。おかげさまで

+0

あなたの質問はあまり明確ではありませんが、 'ProcessBuilder'が' .bat'ファイルを実行するのを探しているようですね。 – Wilson

+0

はい、アドレス指定は重要な問題です。私は絶対に言及することはできません。 –

+0

あなたは実行中の瓶のパスを取得する方法を探しているようです。お手伝いができるかどうかは、http://stackoverflow.com/questions/320542/how-to-get-the-path-of-a-running-jar-fileを参照してください。 – Wilson

答えて

1

あなたはRuntime.exec()メソッドを使用する必要があります

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

が正しいか、パスをチェックします。絶対パスを使用することをお勧めします。そうでなければ、Javaの実行方法に応じて、開始パスがユーザーのホームになる可能性があることに注意してください。

+0

問題はここにある、私はこれの絶対パスを使用することはできません。これは製品です。私はどのように対処したい、セットアップを作成した後に問題に直面しない。 –

+1

絶対パスを使った@MustafaMohammadiはあなたの問題ではありません。それはパスを見つける方法です:上のウィルソンのコメントを参照してください。 – Viruzzo

関連する問題