不创建除WEB-INF&之外的目录使用Maven pom.xml的WAR中的META-INF

时间:2014-02-28 07:38:36

标签: java spring maven web-applications directory-structure

我需要使用maven(pom.xml)mvn clean install命令为我的spring框架项目创建war。我的Project SpringMVC文件夹包含jsp和src文件夹 src中的所有文件夹都是在web-inf内创建的,但是我需要在web-inf之外创建jsp和其他文件夹。

pom.xml构建标记代码

<build>
    <finalName>SpringMVC</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
            <webResources>
        <resource>
          <!-- this is relative to the pom.xml directory -->
          <directory>resource2</directory>
          </resource>
          </webResources>
            </configuration>
        </plugin>
    </plugins>
</build>

在war文件中,jsp文件夹没有在web-inf附近创建。我不知道还有什么可以尝试。

我的预期输出文件夹结构

SpringMVC.war
 |-- META-INF
 |   |-- MANIFEST.MF
 |   `-- maven
 |       `-- com.example.projects
 |           `-- documentedproject
 |               |-- pom.properties
 |               `-- pom.xml
 |-- WEB-INF
 |   |-- classes
 |   |   |-- com
 |   |   |   `-- example
 |   |   |       `-- projects
 |   |   |           `-- SampleAction.class
 |   |   `-- images
 |   |       `-- sampleimage.jpg
 |   `-- web.xml
 |-- external-resource.jpg
 |-- image2
 |   `-- external-resource2.jpg
 |-- index.jsp
 `-- jsp
     `-- websource.jsp

2 个答案:

答案 0 :(得分:1)

我认为你把jsp放在错误的目录中。

典型地jsp抵抗在这个文件夹

\ROOT\src\main\webapp

其中ROOT是pom.xml抵制的文件夹。

@see还:maven webapp to place jsps in /WEB-INF/jsp

答案 1 :(得分:0)

需要使用maven-antrun-plugin来创建目录和复制文件。

    <plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>generate-locator</id>
<phase>process-sources</phase>
<configuration> 
<tasks>
<mkdir dir="${project.build.directory}/${project.version}/jsp" />
<copy todir="${project.build.directory}/${project.version}/jsp">
<fileset dir="${project.build.directory}/${project.build.finalName}/jsp" />
</copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>