Moving and copying Java elements

In this section, you will use refactoring to move a resource between Java packages.  Refactoring actions change the structure of your code without changing its semantic behavior.

  1. In the Package Explorer view, select the MyTestCase.java file from the test package and drag it into the junit.samples package. (Dragging and dropping the file is similar to selecting the file and choosing Refactor > Move from the context menu.
  2. You will be prompted select whether or not to update references to the file you are moving. Typically, you will want to do this to avoid compile errors. You can press the Preview button to see the list of changes that will be made as a result of the move.
  3. Press Finish. The file is moved, and its package declaration changes to reflect the new location.

    File moved to junit.samples package

  4. Select the MyTestCase.java file and drag it into the root directory of the JUnit project. Once again, a dialog pops up letting the user decide to preview the changes. After you have pressed OK (or Finish from the preview window), a default package is created to contain the class, and the package declaration is removed to reflect the file's location in the default package. If you move a file to a default package the system additionally pops up a warning dialog, informing the user about reference updates when moving to the default package. If you don't want to see the dialog everytime you move a file to the default package, check the Don't show this message again checkbox.

    File moved to default package

The context menu is an alternative to using drag and drop.  When using the menu, you must specify a target package in the Move dialog, in addition to selecting the update references options you've already seen.

  1. Select the MyTestCase.java file and from its context menu, select Refactor > Move.
  2. In the Move dialog, expand the hierarchy to browse the possible new locations for the resource. Select the junit.samples package, then click OK. The class is moved, and its package declaration is updated to the new location.

    Move destination dialog

Related concepts

Java views
Refactoring support

Related tasks

Refactoring
Copying and moving Java elements
Moving folders, packages and files

Related reference

Refactoring actions
Refactoring wizard
Refactoring preferences

Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.