diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEClasspathContainer.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEClasspathContainer.java index ee27ab5..20c096b 100644 --- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEClasspathContainer.java +++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEClasspathContainer.java @@ -10,10 +10,6 @@ *******************************************************************************/ package org.eclipse.pde.internal.core; -import org.eclipse.core.runtime.IPath; -import org.eclipse.jdt.core.IAccessRule; -import org.eclipse.jdt.core.IClasspathEntry; - import java.io.File; import java.util.ArrayList; import java.util.HashMap; @@ -138,11 +134,17 @@ } private static IClasspathAttribute[] getClasspathAttributes(IPluginModelBase model) { + IClasspathAttribute artifactID = JavaCore.newClasspathAttribute(IClasspathAttribute.ARTIFACT_ID_ATTRIBUTE_NAME, getArtifactID(model)); JavadocLocationManager manager = PDECore.getDefault().getJavadocLocationManager(); String location = manager.getJavadocLocation(model); if (location == null) - return new IClasspathAttribute[0]; - return new IClasspathAttribute[] {JavaCore.newClasspathAttribute(IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME, location)}; + return new IClasspathAttribute[] {artifactID}; + return new IClasspathAttribute[] {JavaCore.newClasspathAttribute(IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME, location), artifactID}; + } + + private static String getArtifactID(IPluginModelBase model) { + BundleDescription description = model.getBundleDescription(); + return description.getSymbolicName() + '_' + description.getVersion().toString(); } private static synchronized IAccessRule getDiscouragedRule(IPath path) {