10

「リバース エンジニアリング」ツールを使用して Enterprise Architect でモデルを作成し、Java クラスを EA モデルにインポートしました。現在、開発が進むにつれて、このモデルをコードで最新の状態に保つつもりです。

問題は、モデル内でコードを同期しようとすると (ソース -> モデル)、ソース コードが最初にインポートしたときと同じ絶対パスにある場合にのみ機能します。しかし、ディスク上のソース コードの場所を変更すると、クラスが複製されます。

すべての開発者が独自のフォルダー構造を持っていることを考えると、これは大きな問題です。さまざまな運用システムになると、最悪になる可能性があります(私の場合です)。

例:

インポート時のソース コードの場所:

/Volumes/Data/Projects/xxx_project/src/...

別の開発者が同期する必要がある場合のソース コードの場所:

C:\projects\xxx_project\src\...

ソースコードへの「相対パス」を使用する方法、またはモデル上のソースコードの場所のバインディングを変更する方法を知っている人はいますか?

4

2 に答える 2

14

私が使用しているバージョンは 8.0.860 です

解決策は、EA の「ロケール パス」と呼ばれる機能を使用することです。これはメニュー項目の [設定] --> [ロケール パス...] にあります。モデル内のローカル パスを ID に、またはその逆に置き換えることができるダイアログ ボックスが開きます。この機能を使用すると、モデル内の現在のパスを別のパスに置き換えることができます。また、異なるローカル パスを持つ異なるマシンでモデルを使用することもできます。

モデル内の特定のクラスがバインドされているローカル パスを調べるために、モデルのバイナリ ファイルを grep しました。次に、パス名をボタン ApplyPath と ExpandPath に置き換えました。私には、パスに関するモデルの変更は、EA を閉じて再起動するまで有効にならないように見えました。

その後、クラスを右クリックし、ディスク上の新しい場所で「ソース コードの表示...」を実行すると、クラスのソース コードを表示できました。

于 2011-03-07T10:22:29.857 に答える
4

バージョン9.0を使用しています

ここでの解決策:

  • クラス図で、「コードの生成...」を選択します(F11)
  • 新しいクラスファイルの場所をパスとして選択します
  • 保存する

そして、バインディングを修正する必要があります。

于 2012-03-07T11:56:11.583 に答える