title: maven-webstart-plugin exclude specific transitive dependencies
body: <p>I'm using maven-webstart-plugin to generate 2 JNLP (jnlpA and jnlpB), configured as 2 executions. The project, has 2 dependencies:</p>
  
  <ul>
  <li>dependencyA.jar (that depends of some commons and others as A1.jar, A2.jar, A3.jar...)</li>
  <li>dependencyB.jar (that depends of some commons and others as B1.jar, B2.jar, B3.jar...).</li>
  </ul>
  
  <p>I need that jnlpA has as dependencies dependencyA.jar, commons and A1.jar, A2.jar, A3.jar... And jnlpB dependencyB.jar, commons and B1.jar, B2.jar, B3.jar... I don't know how to do this with maven-webstart-plugin.</p>
  
  <p>I have tried with this:</p>
  
  <ol>
  <li><p>Use the plugin property called "excludeTransitive" to false (default). In this case both JNLP will have all dependencies.</p></li>
  <li><p>Change "excludeTransitive" to true, in this case both JNLP will only have dependencyA.jar and dependencyB.jar as dependencies.</p></li>
  <li><p>With "excludeTransitive" to false (default), use the options exclude and include that the plugin allow to use in each execution:</p>
  
  <ul>
  <li>If I use exclude in the execution of jnlpA, and I exclude dependencyB.jar, the jnlpA still has as dependenci B1.jar, B2.jar... I.E. only exclude the dependency and not all its transitive dependencies.</li>
  <li>If I use include in the execution of jnlpA, and I include dependencyA.jar, the A1.jar, A2.jar... are not included. I.E. only include this dependency and not all its transitive dependencies.</li>
  </ul></li>
  </ol>
  
  <p>So, my problem is that <strong>I need to include or exclude a dependency in a execution but with all its transitive dependencies</strong>. </p>
  
  <p>An example of my pom when I was trying option 3 was:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;
  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  &lt;artifactId&gt;MyJnlp&lt;/artifactId&gt;
  &lt;packaging&gt;pom&lt;/packaging&gt;
  
  &lt;build&gt;
      &lt;plugins&gt;
          &lt;plugin&gt;
              &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;
              &lt;artifactId&gt;webstart-maven-plugin&lt;/artifactId&gt;
              &lt;version&gt;1.0-beta-3&lt;/version&gt;
              &lt;executions&gt;
                  &lt;execution&gt;
                      &lt;id&gt;install-jnlp&lt;/id&gt;
                      &lt;phase&gt;process-resources&lt;/phase&gt;
                      &lt;goals&gt;
                          &lt;goal&gt;jnlp-inline&lt;/goal&gt;
                      &lt;/goals&gt;
                      &lt;configuration&gt;
                          &lt;workDirectory&gt;target/dist&lt;/workDirectory&gt;
                          &lt;jnlp&gt;
                              &lt;inputTemplate&gt;src/main/jnlp/jnlpA-template.vm&lt;/inputTemplate&gt;
                              &lt;outputFile&gt;jnlpA.jnlp&lt;/outputFile&gt;
                              &lt;mainClass&gt;Start&lt;/mainClass&gt;
                          &lt;/jnlp&gt;
                          &lt;dependencies&gt;
                              &lt;excludes&gt;
                                  &lt;exclude&gt;xxx:dependencyB&lt;/exclude&gt;
                              &lt;/excludes&gt;
                          &lt;/dependencies&gt;
                      &lt;/configuration&gt;
                  &lt;/execution&gt;
                  &lt;execution&gt;
                      &lt;id&gt;uninstall-jnlp&lt;/id&gt;
                      &lt;phase&gt;process-resources&lt;/phase&gt;
                      &lt;goals&gt;
                          &lt;goal&gt;jnlp-inline&lt;/goal&gt;
                      &lt;/goals&gt;
                      &lt;configuration&gt;
                          &lt;workDirectory&gt;target/dist&lt;/workDirectory&gt;
                          &lt;jnlp&gt;
                              &lt;inputTemplate&gt;src/main/jnlp/jnlpB-template.vm&lt;/inputTemplate&gt;
                              &lt;outputFile&gt;jnlpB.jnlp&lt;/outputFile&gt;
                              &lt;mainClass&gt;Uninstaller&lt;/mainClass&gt;
                          &lt;/jnlp&gt;
                          &lt;dependencies&gt;
                              &lt;excludes&gt;
                                  &lt;exclude&gt;xxx:dependencyA&lt;/exclude&gt;
                              &lt;/excludes&gt;
                          &lt;/dependencies&gt;
                      &lt;/configuration&gt;
                  &lt;/execution&gt;
              &lt;/executions&gt;
              &lt;configuration&gt;
                  &lt;excludeTransitive&gt;false&lt;/excludeTransitive&gt;&lt;resourcesDirectory&gt;${project.basedir}/src/main/jnlp/resources&lt;/resourcesDirectory&gt;
                  &lt;jnlp&gt;
                      &lt;inputTemplateResourcePath&gt;${project.basedir}&lt;/inputTemplateResourcePath&gt;
                  &lt;/jnlp&gt;
                  &lt;gzip&gt;true&lt;/gzip&gt;
                  &lt;makeArchive&gt;false&lt;/makeArchive&gt;
                  &lt;outputJarVersions&gt;false&lt;/outputJarVersions&gt;
                  &lt;verbose&gt;true&lt;/verbose&gt;
                  &lt;encoding&gt;ISO-8859-1&lt;/encoding&gt;
              &lt;/configuration&gt;
          &lt;/plugin&gt;
      &lt;/plugins&gt;
  &lt;/build&gt;
  
  &lt;dependencies&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;xxx&lt;/groupId&gt;
          &lt;artifactId&gt;dependencyA&lt;/artifactId&gt;
          &lt;version&gt;1.0&lt;/version&gt;
          &lt;scope&gt;runtime&lt;/scope&gt;
      &lt;/dependency&gt;
      &lt;dependency&gt;
          &lt;groupId&gt;xxx&lt;/groupId&gt;
          &lt;artifactId&gt;dependencyB&lt;/artifactId&gt;
          &lt;version&gt;1.0&lt;/version&gt;
          &lt;scope&gt;runtime&lt;/scope&gt;
      &lt;/dependency&gt;
  &lt;/dependencies&gt;
  </code></pre>
  
  <p></p>