Maven jetty加载多个上下文
我们有一个maven+springMVC应用程序,在开发时使用maven jetty插件启动应用程序。我们使用jetty-env.xml文件来设置上下文和JNDI配置。该应用程序将成为更大门户的一部分 我们正在使用maven jetty插件Maven jetty加载多个上下文,maven,jetty,embedded-jetty,maven-jetty-plugin,Maven,Jetty,Embedded Jetty,Maven Jetty Plugin,我们有一个maven+springMVC应用程序,在开发时使用maven jetty插件启动应用程序。我们使用jetty-env.xml文件来设置上下文和JNDI配置。该应用程序将成为更大门户的一部分 我们正在使用maven jetty插件 <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>7.2.0.v20
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.2.0.v20101020</version>
现在PortalApp只有静态文件,而不是真正的web应用程序,也就是说,它没有web.xml
应用程序依赖于门户中的Java脚本。一些javaScript的位置如下所示:
<script src="/BAL_S/js/portal-jquery-lib.js"></script>
<script src="/BAL_S/js/libs/foundation.js"></script>
etc...
等
正如您所看到的,该位置以/BAL_S开头,我们发现很难使用它,因为它就像引用另一个webapp上下文一样。当我们使用jetty启动应用程序时,会出现javaScript错误,因为它找不到/BAL\S
如果我们在tomcat中部署并配置我们的应用程序,如下所示,应用程序运行良好,没有任何javaScript错误
<Context path="/" docBase="PortalApp"/>
GM好的,我所要做的就是添加到maven jetty插件配置中,如下所示:
<contextHandlers>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<contextPath>/</contextPath>
<resourceBase>src/main/PortalApp/</resourceBase>
</contextHandler>
</contextHandlers>
/
src/main/PortalApp/
因此,这将上下文路径“/”配置为“src/main/PortalApp/”,现在我们可以在标记中找到/BAL。\n好的,我所要做的就是添加到maven jetty插件配置中,如下所示:
<contextHandlers>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<contextPath>/</contextPath>
<resourceBase>src/main/PortalApp/</resourceBase>
</contextHandler>
</contextHandlers>
/
src/main/PortalApp/
因此,这将上下文路径“/”配置为“src/main/PortalApp/”,现在我们可以在标记中找到/BAL
<Context path="/" docBase="PortalApp"/>
<contextHandlers>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<contextPath>/</contextPath>
<resourceBase>src/main/PortalApp/</resourceBase>
</contextHandler>
</contextHandlers>