Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Javaリモートデバッグ方法
- ========================
- サーバで動作するコマンドをデバッグする(not webapp)
- ------
- ## Mavenで依存するjarを含むjarをビルドする
- appname-version-jar-with-dependencies.jar のような名前になる/することが多い?
- "jar-with-dependencies"がキモ。
- 依存するライブラリを全部含むjar。
- ### maven-assembly-pluginを使用する
- ### マニフェストを生成する
- リモートデバッグそのものに必要なわけではないが、-jar xxx.jar形式で実行するのに必要。
- こんな感じの、maven-assembly-pluginタグを作成する。
- ```xml
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- <archive>
- <manifest>
- <addClasspath>true</addClasspath>
- <mainClass>com.example.AppName.AppNameMain</mainClass>
- </manifest>
- </archive>
- <excludes>
- <exclude>test/resources/**</exclude>
- </excludes>
- </configuration>
- <executions>
- <execution>
- <phase>package</phase> <!-- bind to the packaging phase -->
- <goals>
- <goal>single</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- ```
- ------
- ## jarをサーバに転送
- ### 転送対象のjar
- 転送するのは、以下で定義されたsuffixがついたjarファイル
- ```xml
- <descriptorRef>jar-with-dependencies</descriptorRef>
- ```
- 例)
- ```
- hogeapp-0.1.0-jar-with-dependencies.jar
- ```
- ------
- ## デバッガ―接続待ち起動
- 以下のオプションを付けてjarを実行する。
- suspend=yで、デバッガが接続するまで実行を待つ形式に。
- ```
- -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y
- ```
- 例)
- ```
- java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y -jar ./hogeapp-0.1.0-jar-with-dependencies.jar -a some_argument
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement