MacでSpring Bootの@EnableAutoConfigurationつけたjarをFinderから実行する

開発

3月の増税前に初Macを買ったので、家でコード触るときはMacを使っています。

中学から12年以上Windowsしか触ったことなかったので戸惑いもありますが、
少しずつ慣れようと頑張っています。

で、最近Spring Bootのサンプルを元に色々いじっているのですが、
@EnableAutoConfigurationをつけたクラスをIntelliJで実行すると
ターミナルからのcontrol + c で止まってくれません。

stopボタンを押すとプロセスをkillしたかのような感じで止まります。

2014-05-18 08:27:19.417  INFO 12188 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2014-05-18 08:27:19.498  INFO 12188 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080/http
2014-05-18 08:27:19.500  INFO 12188 --- [           main] j.c.n.management.config.Application      : Started Application in 4.59 seconds (JVM running for 5.194)
Disconnected from the target VM, address: '127.0.0.1:61836', transport: 'socket'

Process finished with exit code 255

できればgracefulに終了してほしい、ということで、bashから実行するようにしました。

プロジェクトの/build/libs以下にjarができているので、
shファイルを作って以下のように書いてみました。

#!/bin/bash
java -jar management-0.1.0.jar

で、これをダブルクリックして実行…あれ、NetBeansが開いた。

Macって実行可能shell作れないのかなぁと検索してみたら、
Macで実行可能なスクリプトは.commandらしく。

で、拡張子だけ変えて実行。

Last login: Sun May 18 09:34:42 on ttys001
maedahideto-no-MacBook-Pro:~ Tono$ /Users/Tono/IdeaProjects/management/build/libs/management.command ; exit;
Error: Unable to access jarfile management-0.1.0.jar
logout

[プロセスが完了しました]

ありゃ、実行がこけた。
なんだろうとおもったら、実行時のディレクトリがjarのあるディレクトリじゃなくなってたので、cdを追加。

#!/bin/bash
cd /Users/Tono/IdeaProjects/management/build/libs
java -jar management-0.1.0.jar

これで実行できるようになり、control + c でClosingの表示が出て終了してくれるようになりました。

2014-05-18 09:34:48.238  INFO 12493 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2014-05-18 09:34:48.348  INFO 12493 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080/http
2014-05-18 09:34:48.350  INFO 12493 --- [           main] j.c.n.management.config.Application      : Started Application in 5.219 seconds (JVM running for 5.849)
^C2014-05-18 09:34:52.187  INFO 12493 --- [       Thread-2] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@655f9a1e: startup date [Sun May 18 09:34:43 JST 2014]; root of context hierarchy
2014-05-18 09:34:52.189  INFO 12493 --- [       Thread-2] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
logout

[プロセスが完了しました]

でもこれだとデバッグできないことに今更気づいた。
やっぱプロセス切るしかないのか…

コメント

タイトルとURLをコピーしました