A classpathentry
типа "con" означает контейнер classpath .
Из Страница справки по путям классов Java :
запись, обозначающая контейнер classpath :
косвенная ссылка на структурированный набор проектов или библиотек.
Контейнеры classpath используются для ссылки на набор записей classpath, которые описывают сложную структуру библиотеки.
Как и переменные classpath, контейнеры classpath ( IClasspathContainer ) динамически разрешаются .
Контейнеры classpath могут использоваться различными проектами, в результате чего их записи пути разрешаются в разные значения для проекта.
Они также предоставляют метаинформацию о библиотеке, которую они представляют (имя, вид, описание библиотеки).
С контейнерами Classpath можно манипулировать с помощью методов JavaCore getClasspathContainer и setClasspathContainer.
Так что в вашем случае, чтобы быть действительно уверенным в разрешенном пути, вы можете запросить свой собственный проект через эти вызовы, например: ClassPathUtils
case IClasspathEntry.CPE_CONTAINER:
{
final IClasspathContainer container;
try
{
container = JavaCore.getClasspathContainer( entry.getPath(), jproj );
}
catch( JavaModelException e )
{
Logger.getLogger().logError( e );
continue;
}
if( container != null )
{
final IClasspathEntry[] containerEntries
= container.getClasspathEntries();
for( int j = 0; j < containerEntries.length; j++ )
{
resolved.add( containerEntries[ j ].getPath() );
}
}
}