我使用maven2進行依賴關係管理。我有一個項目包含一些Java文件和一些jsp文件,另一個項目是一個Web項目,它依賴於第一個項目。如何從Web項目訪問jsp文件?maven,依賴關係中的jsp文件
我可以看到jsp文件被添加到1-0-SNAPSHOT-sources.jar
而不是1-0-SNAPSHOT.jar
(它作爲Web項目pom.xml中的依賴項添加)。
我使用maven2進行依賴關係管理。我有一個項目包含一些Java文件和一些jsp文件,另一個項目是一個Web項目,它依賴於第一個項目。如何從Web項目訪問jsp文件?maven,依賴關係中的jsp文件
我可以看到jsp文件被添加到1-0-SNAPSHOT-sources.jar
而不是1-0-SNAPSHOT.jar
(它作爲Web項目pom.xml中的依賴項添加)。
我認爲正確的Maven方法是將JSP文件放到/ src/main/webapp下的web項目中。如果由於某種原因無法執行此操作,則可以使用Maven Dependency Plugin將所需的文件複製到您的Web應用程序中。或者,如果您有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>
謝謝你的答案。 WAR覆蓋是該項目的正確解決方案。 – vpalle 2009-05-18 09:09:03
與解決方案的問題是,用Eclipse深化發展的時候,該項目不處理覆蓋。所以,jsp不可訪問。
我想從依賴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>
希望幫助那些尋找一個類似的解決方案
究竟如何的第二個項目「依賴」的JSP的?它對他們有什麼影響?包括他們?解析他們?還有別的嗎? – kazanaki 2009-04-22 18:54:53