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 [プロセスが完了しました]
でもこれだとデバッグできないことに今更気づいた。
やっぱプロセス切るしかないのか…
コメント