Index: src/main/java/org/apache/maven/plugin/ide/AbstractIdeSupportMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ide/AbstractIdeSupportMojo.java	(Revision 587020)
+++ src/main/java/org/apache/maven/plugin/ide/AbstractIdeSupportMojo.java	(Arbeitskopie)
@@ -64,6 +64,7 @@
 import org.codehaus.plexus.logging.LogEnabled;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
 
 /**
  * Abstract base plugin which takes care of the common stuff usually needed by maven IDE plugins. A
@@ -202,6 +203,22 @@
      * @parameter expression="${downloadJavadocs}"
      */
     protected boolean downloadJavadocs;
+    
+    /**
+     * Artifacts with groupIds that starts with the given strings will always be
+     * handled as reactor projects. By default this feature is disabled.
+     * 
+     * Multiple groupId prefixes must be delimited with a comma. 
+     * 
+     * @parameter expression="${reactorProjectGroupIdPrefixes}"
+     */
+    private String reactorProjectGroupIdPrefixes;
+    
+    /**
+     * Interal parsed version of the parameter
+     * {@link #reactorProjectGroupIdPrefixes}.
+     */
+    private String[] internalReactorProjectGroupIdPrefixes;
 
     /**
      * Plexus logger needed for debugging manual artifact resolution.
@@ -391,6 +408,22 @@
         this.downloadSources = downloadSources;
     }
     
+    /**
+     * @return Returns the reactorProjectGroupIdPrefixes.
+     */
+    public String getReactorProjectGroupIdPrefixes() {
+        return reactorProjectGroupIdPrefixes;
+    }
+
+    /**
+     * @param reactorProjectGroupIdPrefixes 
+     *        Are the reactorProjectGroupIdPrefixes to set.
+     */
+    public void setReactorProjectGroupIdPrefixes(
+        String reactorProjectGroupIdPrefixes) {
+        this.reactorProjectGroupIdPrefixes = reactorProjectGroupIdPrefixes;
+    }
+
     protected void setResolveDependencies( boolean resolveDependencies )
     {
         this.resolveDependencies = resolveDependencies;
@@ -755,6 +788,36 @@
      */
     private boolean isAvailableAsAReactorProject( Artifact artifact )
     {
+        /** 
+         * If the given artifact's groupId starts with the given string, the 
+         * artifact will be handled as a reactor project.
+         */
+        if (!StringUtils.isEmpty(getReactorProjectGroupIdPrefixes())) {
+            if (internalReactorProjectGroupIdPrefixes == null) {
+                internalReactorProjectGroupIdPrefixes 
+                    = getReactorProjectGroupIdPrefixes().split(",");
+                List l = new ArrayList();
+                for (int i = 0; i < internalReactorProjectGroupIdPrefixes.length; i++) {
+                    if (!StringUtils.isEmpty(internalReactorProjectGroupIdPrefixes[i])) {
+                        l.add(internalReactorProjectGroupIdPrefixes[i].trim());
+                    }
+                }
+                if (l.size() > 0) {
+                    internalReactorProjectGroupIdPrefixes
+                        = (String[]) l.toArray(new String[l.size()]);
+                } else {
+                    internalReactorProjectGroupIdPrefixes = new String[0];
+                }
+            }
+            String groupId = artifact.getGroupId();
+            for (int i = 0; i < internalReactorProjectGroupIdPrefixes.length; i++) {
+                if (groupId.startsWith(
+                    internalReactorProjectGroupIdPrefixes[i])) {
+                    return true;
+                }
+            }
+        }
+        
         if ( reactorProjects != null )
         {
             for ( Iterator iter = reactorProjects.iterator(); iter.hasNext(); )

