Interpreting eclipse .classpath file. What does 'kind="con"' and 'exported="true"' mean?

prosseek picture prosseek · Dec 19, 2012 · Viewed 20.4k times · Source

This is the eclipse .classpath file of the eclipse plugin program that I downloaded.

I think that kind="src" and kind="output" is pretty straight forward, as they means the where the source java files and compiled class files are located.

The kind="lib" seems to indicate the jar files the plugin is referencing, but I have something that I'm not sure about.

  • What does the kind="con" mean?
  • What is it for the exported="true"? I think in order to use this plugin, all the jar files that the plugin refers to should be exported, but only some of them are exported.

enter image description here

Answer

yair picture yair · Dec 19, 2012

1) In kind="con", the con stands for container, which is interpreted by eclipse as a classpath container. As described in that link:

A classpath container provides a way to indirectly reference a set of classpath entries through a classpath entry of kind CPE_CONTAINER

In other words, it enables grouping of other classpath entries in any way and re-use it wherever (including the ability of having different entries for different projects).

2) exported: Say you have Project B that depends on Project C. The dependency is defined as exported=true. Then, another Project A that depends on Project B, will have also Project C present on A'a classpath.