當您在選取取代 UML 元素選項的情況下,將 UML 模型轉換成 Java 程式碼時, UML 模型中的物件會換成所產生之 Java 檔的相對捷徑。您可以使用還原按鈕來還原作業。不過, 如果您之後按一下重做按鈕, 模型會遺失先前產生之 Java 檔的所有捷徑。暫行解決辦法是不要使用重做按鈕。轉而重新執行「UML 至 Java」的轉換。
如果 Java 元素之前有兩項 Javadoc 備註, 「UML 至 Java」轉換可能不會更新 Java 元素。
舉例來說, 如果轉換產生一個 Java 元素, 而該元素的 Javadoc 中有一個 @generated 標示, 且 Java 元素之前有另一項 Javadoc 備註, 當重新套用轉換時,該元素(例如 transformGenerated())將不會更新。
/**
* A commented user-created method
*/
// private void userCreated() {
// }
/**
* @generated "..."
*/
public void transformGenerated() {
}暫行解決辦法是註銷整個 Java 元素(整個方法、欄位、類別或介面定義),然後將它們(包括其前面的任何備註) 移動到 Java 程式檔尾端的最後括弧之前。之後,原始範例將類似如下:
/**
* @generated "..."
*/
public void transformGenerated() {
}
... end of source file, before final brace ...
/**
* A commented user-created method
*/
// private void userCreated() {
// }
如果 Java 元素已不再指定於來源模型中, 「UML 至 Java」轉換可能會將該 Java 元素從程式碼中移除。
舉例來說,當重新套用轉換時, 如果來源模型中沒有定義某方法(例如 importantUserCreated()), 該方法會連同被註銷的程式碼(內含 Javadoc)一起從程式碼中移除。
/**
* @generated "..."
*/
// public void generatedMethodUserWantsToSave() {
// }
private void importantUserCreated() {
}暫行解決辦法是註銷整個 Java 元素(整個方法、欄位、類別或介面定義),然後將它們(連同其前面的任何備註) 移動到 Java 程式檔尾端的最後括弧之前。之後,原始範例將類似如下:
private void importantUserCreated() {
}
... end of source file, before final brace ...
/**
* @generated "..."
*/
// public void generatedMethodUserWantsToSave() {
// }