By ZUIFU Blogger 2011年11月21日 Leave a Comment

play_framework

Javaフレームワーク「play」を使ってWebアプリを開発する際に、

複数のアプリを起動したい時、ポートを変更して起動してやれば可能だが、

playに同梱されている、eclipseフォルダ以下の[app名].launchファイルで起動
する場合は、launchファイル内にポート指定の記述があるため、
conf以下のapplication.conf内のポート変更だけでは起動できない。

1
2
3
4
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]

eclipseから別ポートで複数アプリを起動するための設定手順は以下の通り。

1. conf/application.conf の以下のポートを変更

# jpda.port=8000

jpda.port=8001

 

# http.port=9000

http.port=9001

 

2. 続いて、eclipse/[app名].launch 内の以下を変更

1
2
3
4
5
6
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS"
value="-Xdebug-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
-Dplay.debug=yes -Dplay.id=
-Dapplication.path='${project_loc:simplemailform}'
-Djava.endorsed.dirs='C:play-1.2.3/framework/endorsed'
-javaagent:'C:play-1.2.3/framework/play-1.2.3.jar'"/>


address=8000 の部分を、application.conf の

# jpda.port=8000

で設定したポートと同じに変更する。この例では、

address=8001


1
2
3
4
5
6
7
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS"
 
value="-Xdebug-Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n
-Dplay.debug=yes -Dplay.id= 
-Dapplication.path='${project_loc:simplemailform}'
-Djava.endorsed.dirs='C:play-1.2.3/framework/endorsed'
-javaagent:'C:play-1.2.3/framework/play-1.2.3.jar'"/>

としてやる必要がある。これで、eclipseからもポートを変更して、複数アプリを起動可能となる。

今回は、2個目のアプリをそれぞれ

jpda.port=8000 -> 8001

http.port=9000  -> 9001

として起動できるように設定した。これを3個、4個と同時に起動したければ

同様に、

jpda.port=8001 -> 8002 -> ・・・

http.port=9001  -> 9002 -> ・・・

とそれぞれ変更していけば、OK。

(やりすぎると、非力なマシンだと結構厳しいです。。。)

以上、eclipseで複数プロジェクトを起動して、開発を行う場合のメモ。




Sorry, the comment form is closed at this time.

Sorry, the comment form is closed at this time.