Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create a sub-package and add existing files intellij?

I have my project structure something like this.

|--daos
|  |
|  |--MyDBReader.java

But I want to change it into this one.

daos
|
|--readers
|  |
|  |--MyDBReader.java

Can anyone tell me the preffered way to do that with intellij preserving all dependencies and usages?

like image 644
Supun Wijerathne Avatar asked Jul 04 '16 03:07

Supun Wijerathne


People also ask

How do I add an existing project as a module in IntelliJ?

From the main menu, select File | New | Module from Existing Sources. In the dialog that opens, specify the path the . iml file of the module that you want to import, and click Open. By doing so, you are attaching another module to the project without physically moving any files.

How do I import a class from another package in IntelliJ?

IntelliJ IDEA suggests to import single classes by default. You can change the settings to import entire packages instead. In the Settings/Preferences dialog ( Ctrl+Alt+S ), select Editor | Code Style | Java | Imports. Clear the Use single class import checkbox, and apply the changes.


2 Answers

There are two ways (AFAIK)

Method One

  1. Right click the class in the project explorer and Refactor -> Move or Select the Class in the project explorer press F6

  2. Then select To Package enter the new package name and press Refactor button.

Method Two

Just change the package statement in MyDBReader.java from package daos; to package daos.readers;, then you will see red line under the package statement, place the cursor on the statement then do ALT+ENTER then select 'Move package to daos.readers'. This method only changes the package but does not update the usages

like image 133
Karthikeyan Vaithilingam Avatar answered Oct 02 '22 01:10

Karthikeyan Vaithilingam


Actually the better answer is:

  1. Go to the project-structure sub-window in IntelliJ.

  2. Create new package.

  3. Just drag and drop the file from the older location to the new location from the project-structure sub-window.

like image 24
Supun Wijerathne Avatar answered Oct 02 '22 03:10

Supun Wijerathne