Java Package Vs Folder-Structure? what is the diff

2019-01-13 04:50发布

问题:

I would like to know What are the difference between folder-structure and package used in Eclipse IDE for Java EE development.

When do we use which one and why?.

Whats should be the practice

  • create a folder structure like src/com/utils and then create a class inside it
  • create a package like src.com.util and then create a class inside it

which option would be better and easy to deploy if i have to write a ant script later for deployment ?

if i go for the folder-structure will the deployment is as easy as copying files from development to deployment target ?

回答1:

If you configured stuffs correctly. Adding a folder inside src, is same as adding a package from File > New Package.

So, it's up to you, whatever feels comfortable to you -- add a folder or create a package. Also, when you put stuffs under src the package name starts from subfolder. So, src/com/naishe/test will be package com.naishe.test.



回答2:

Basically there is no difference, both are the same.

In both the cases, the folder structure will be src/com/utils.

and in both the cases, you will need to mention

package com.utils;

as first line in the class

Since it doesn't have any difference practically, it won't make any difference to ant script.



回答3:

"Packaging helps us to avoid class name collision when we use the same class name as that of others. For example, if we have a class name called "Vector", its name would crash with the Vector class from JDK. However, this never happens because JDK use java.util as a package name for the Vector class (java.util.Vector). So our Vector class can be named as "Vector" or we can put it into another package like com.mycompany.Vector without fighting with anyone. The benefits of using package reflect the ease of maintenance, organization, and increase collaboration among developers. Understanding the concept of package will also help us manage and use files stored in jar files in more efficient ways."

check out http://www.jarticles.com/package/package_eng.html for more information on packages



回答4:

create a package like 'src.com.util'

That sounds like a mistake. The package name should be 'com.util', and 'src' is the name of the source folder.

Other than that, I fail to see what the difference is between your two choices. The result is the same, right? Just different steps in the GUI to arrive at it. The wizard to create a new package in Eclipse is just a wrapper around creating the appropriate folder hierarchy within a source folder.

You don't need to create empty packages at all, you can directly create classes (the package will be created automatically if it does not already exist).



回答5:

A package is automatically "source folder" where folder is just a normal folder. When you compile an Eclipse project, all files in source folders are compiled but not in regular folders (unless those regular folders a)