Windows 7、Enterprise Architect(EA)6.5および32ビットJava1.6.0_22を使用しています
Javaプログラムを外部で実行するシーケンス図モデリングを生成しようとしています。今のところ、コマンドラインから実行されるダミーのJavaクラスを使用して、それが可能かどうかを確認しています。JavaクラスのソースディレクトリをEAにインポートしました。パッケージビルドスクリプト->デバッグは、外部プロセスにアタッチするために「アタッチ」に設定されています。
私のJavaクラスはコンパイルされ、cmdを介して実行されます。起動後、ユーザー入力を待機し、EAをアタッチする時間を与えます。私はJavaプログラムを実行してコンパイルします:
javac -g ClassName.java
// ^ -gは、EAを「幸せ」にするために必要なデバッグ情報を生成します
java -agentpath:"path_to_SSJavaProfiler65" ClassName
// ^ agentpathにより、EAはプロセスに接続できます//注:プログラムは32ビットバージョンのJavaで実行する必要があります。そうしないと、EAはそれを検出しません。
Javaプログラムを実行した後、私の入力を待ちます。EAで起動したプログラムのメソッドを右クリック->シーケンス図の生成
その時点で、EAは、アタッチするプロセスを選択するように求めるウィンドウをポップアップします。正しいものを選び、EAがそれに接続して、システム出力に出力します。
06/10/2011 14::43 debug starts for C:\Program Files (x86)\Java\jdk1.6.0_22\bin\java.exe
//^Javaプログラムを実行しているプロセス
Javaプログラムに入力を入力した後、それを継続することができ、EAはメソッドの美しいシーケンス図を生成します->まさに私が望んでいたものです。デバッガーを介してダイアグラムを生成しようとすると問題が発生します。これにより、複数のメソッドの動作をモデル化できるはずです。
これを行うには、以前と同じ方法でJavaプログラムを起動し、EAに到達した入力を問い合わせたら、起動したプログラムのパッケージを右クリックします(ここでパッケージスクリプトが設定されます)->ビルドして実行->デバッグ実行。ここでも、アタッチするプロセスを選択します。成功したことを確認しました。Javaプログラムに入力を入力して続行できるようにすると、EAがエラーメッセージを生成します。
Source file path loaded in module doesnt match, please rebuild
「モデルをコードと同期」、「再構築」をcmdレベルとEAの両方から試しました。また、ソースディレクトリ全体を再構築して再インポートしようとしました。どれも役に立たなかった。私が間違っているかもしれないアイデアはありますか?
私はすでにこれに数日を無駄にしたので、どんな助けでも大歓迎です。
ありがとう!