Index: src/main/java/org/apache/maven/plugin/eclipse/EclipseToMavenMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/eclipse/EclipseToMavenMojo.java	(revision 1325242)
+++ src/main/java/org/apache/maven/plugin/eclipse/EclipseToMavenMojo.java	(working copy)
@@ -82,6 +82,8 @@
     implements Contextualizable
 {
 
+    private static final String CLASSIFIER_PROPNAME = "maven-eclipse-plugin.classifier";
+
     /**
      * A pattern the <code>deployTo</code> param should match.
      */
@@ -269,7 +271,7 @@
 
     protected String getKey( Model model )
     {
-        return model.getGroupId() + "." + model.getArtifactId(); //$NON-NLS-1$
+        return model.getGroupId() + "." + model.getArtifactId() + "." + model.getProperties().getProperty(CLASSIFIER_PROPNAME); //$NON-NLS-1$
     }
 
     private String getKey( Dependency dependency )
@@ -386,6 +388,13 @@
                                               Messages.getString( "EclipseToMavenMojo.errorprocessingplugin", plugin ), e ); //$NON-NLS-1$
         }
 
+        String classifier;
+        if(bundleName.endsWith(".source"))
+        {
+            classifier = "sources";
+            bundleName = bundleName.substring(0, bundleName.length() - 7);
+        } else classifier = "";
+        
         Dependency[] deps = parseDependencies( requireBundle );
 
         groupId = createGroupId( bundleName );
@@ -399,6 +408,7 @@
         model.setVersion( version );
 
         model.setProperties( plugin.getPomProperties() );
+        model.addProperty(CLASSIFIER_PROPNAME, classifier); //hack
 
         if ( groupId.startsWith( "org.eclipse" ) ) //$NON-NLS-1$
         {
@@ -443,11 +453,14 @@
         Writer fw = null;
         ArtifactMetadata metadata = null;
         File pomFile = null;
+        
+        String classifier = model.getProperties().getProperty(CLASSIFIER_PROPNAME); //hack
+        
         Artifact pomArtifact =
-            artifactFactory.createArtifact( model.getGroupId(), model.getArtifactId(), model.getVersion(), null, "pom" ); //$NON-NLS-1$
+            artifactFactory.createArtifactWithClassifier( model.getGroupId(), model.getArtifactId(), model.getVersion() , "pom" , classifier); //$NON-NLS-1$
         Artifact artifact =
-            artifactFactory.createArtifact( model.getGroupId(), model.getArtifactId(), model.getVersion(), null,
-                                            Constants.PROJECT_PACKAGING_JAR );
+            artifactFactory.createArtifactWithClassifier( model.getGroupId(), model.getArtifactId(), model.getVersion(),
+                                            Constants.PROJECT_PACKAGING_JAR , classifier);
         try
         {
             pomFile = File.createTempFile( "pom-", ".xml" ); //$NON-NLS-1$ //$NON-NLS-2$
