I am preparing to build a pre-existing Java project in NetBeans. I am reviewing the pre-existing build-related files to confirm that I can safely build directly from the source files.
There is a .project
file in the root directory. It is a short file, so I include it all here:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>qrcode</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
</natures>
</projectDescription>
For this question, I would like to know, specifically, what the JavaEMFNature <nature>
is. I cannot find any reference to information about it anywhere.
A secondary, but related, question is: Am I correct that regardless of what JavaEMFNature
is, that it is not intended to be executed (as currently specified in the .project
file)?
Another secondary question: What are the other two <natures>
, and what is the purpose of the <buildCommand>
(org.eclipse.jdt.core.javabuilder
)?
I raise these questions primarily to confirm that I am safe to ignore this .project
file as I re-create the project within NetBeans, but I also ask in order to learn (for future reference).
The main purpose of project natures is to create an association between a project and a given tool, plug-in, or feature set. By adding a nature to a project, you indicate that your plug-in is configured to use that project.
Project natures act as tags on a project to indicate that a certain tool is used to operate on that project. They can also be used to distinguish projects that your plug-in is interested in from the rest of the projects in the workspace.
JavaEMFNature is an internal class of JEM, which is a model of the Java Language, implemented in terms of EMF. As far as I know it's also used by WTP for JSP/JSF model. It's part of JEETools project and it's responsible for all sorts of things, like getting source paths and containers, library paths, updating classpath for the project and so on.
It's all in the source code if you would like to go through it...
I think EMF stands for Eclipse Modeling Framework http://www.eclipse.org/modeling/emf/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With