代码之家  ›  专栏  ›  技术社区  ›  TraderJoeChicago

如何用Maven中的源代码生成一个WAR?

  •  10
  • TraderJoeChicago  · 技术社区  · 14 年前

    与源代码

    4 回复  |  直到 14 年前
        1
  •  16
  •   Jcs    14 年前

    可以将maven war插件配置为包含源目录,因为它是一个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>
    

    java源代码将包含在 sources 战争中的目录。当然,您应该根据自己的maven布局调整资源目录。

        2
  •  5
  •   Will    11 年前

    如果希望源文件与要使用的类文件位于同一目录中:

            <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
  •  1
  •   Klaus    12 年前

            <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
  •   acdcjunior Mukul Kumar    8 年前

    在你的战争计划中 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>
    

    <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>