依赖的maven,jsp文件

时间:2009-04-22 12:01:37

标签: jsp maven-2

我正在使用maven2进行依赖关系管理。我有一个项目,包含一些Java文件和一些jsp文件,另一个项目,一个Web项目,依赖于第一个项目。如何从Web项目访问jsp文件?

我可以看到jsp文件被添加到1-0-SNAPSHOT-sources.jar而不是1-0-SNAPSHOT.jar(在web项目pom.xml中作为依赖项添加)。

3 个答案:

答案 0 :(得分:13)

我认为正确的Maven方法是将JSP文件放在/ src / main / webapp下的Web项目中。如果由于某种原因无法实现,您可以使用Maven Dependency Plugin将所需文件复制到您的webapp中。或者,如果你有一个WAR项目,你可以使用Overlay来复制JSP文件。第二个选项(我建议)看起来像这样:

    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <configuration>
            <overlays>
              <overlay>
                <groupId>myGroupId</groupId>
                <artifactId>myArtifactId</artifactId>
                <type>jar</type>
                <includes>
                  <include>**/*.jsp</include>
                </includes>
                <targetPath>WEB-INF/pages</targetPath>
              </overlay>
            </overlays>
          </configuration>
        </plugin>
      </plugins>
    </build>

答案 1 :(得分:0)

该解决方案的问题在于,在使用Eclipse进行开发时,项目无法处理叠加层。因此,jsp无法访问。

答案 2 :(得分:0)

我想将一个依赖JAR项目的文件放到我的WEB项目中。

我已经这样做了所以我不仅可以在打包WAR时使用文件,还可以在运行maven servlet容器插件时(例如jetty:run或tomcat:run)获取文件。

所以这对我有用:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.1</version>
    <executions>
        <execution>
            <id>copy-files-to-webapp-directory</id>
            <phase>compile</phase>
            <goals>
                <goal>unpack</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>com.my.project</groupId>
                        <artifactId>my-amazing-project</artifactId>
                        <type>jar</type>
                        <overWrite>true</overWrite>
                        <outputDirectory>src/main/webapp</outputDirectory>
                        <includes>**/*.jsp, **/*.css, **/*.png</includes>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
</plugin>

希望能帮助任何寻找类似解决方案的人