Come generare una GUERRA con il codice sorgente in Maven?

Voglio distribuire la guerra della mia applicazione web generato con Maven con il codice sorgente all’interno di esso. Come si fa con Maven?

 

4 Replies
  1. 14

    È possibile configurare il plugin di maven-guerra-plugin per includere la directory di origine, come è stato di una risorsa web:

     <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
              <webResources>
                <resource>
                  <directory>${build.sourceDirectory}</directory>
                  <targetPath>sources</targetPath>
                </resource>
              </webResources>
            </configuration>
          </plugin>
        </plugins>
      </build>

    I sorgenti java, verranno inseriti in un sources directory in guerra. Naturalmente, si dovrebbe adattare la directory di risorse per il proprio maven layout.

  2. 3

    Se si desidera che il file di origine nella stessa directory del file di classe si usa:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>${build.sourceDirectory}</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
  3. 0

    Di solito penso che si dovrebbe andare in questo modo: (questo non include i file di origine, ma fornisce loro come file separati)

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
  4. 0

    A vostra guerra del progetto pom.xml:

    <build>
        ...
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.6</version>
                    <configuration>
                        <attachClasses>true</attachClasses>
                        <classesClassifier>classes</classesClassifier>
                    </configuration>
                </plugin>
                ...
            </plugins>
        </pluginManagement>
    </build>

    Nei progetti che si desidera fare uso di esso:

    <dependency>
        <groupId>my-war-group</groupId>
        <artifactId>my-war-artifact-id</artifactId>
        <version>my-war-version</version>
    
        <classifier>classes</classifier> <!-- THIS IS THE IMPORTANT LINE! -->
    </dependency>

Lascia un commento