我们有一个maven + springMVC应用程序,它使用maven jetty插件在我们进行开发时启动应用程序。我们使用jetty-env.xml文件来设置上下文和JNDI配置。该应用程序将成为更大的门户网站的一部分。
我们正在使用maven jetty插件
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.2.0.v20101020</version>
with config
<webAppConfig>
<contextPath>/ASX/mainApp</contextPath>
<jettyEnvXml>src/main/resources/jetty-env.xml</jettyEnvXml>
</webAppConfig>
并使用jetty-env.xml
<Configure id='jms-webapp-wac' class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/ASX/mainApp</Set>
...
...
</Configure>
我们的目标结构是:
MainApp
/forms
page1.html
page2.html
etc...
/WEB-INF
web.xml
PortalApp
/BAL_S
/css
/images
/js
etc...
现在PortalApp只有静态文件,并不是真正的Web应用程序,即它没有web.xml
应用程序依赖于门户网站的javaScripts。一些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"/>
所以问题是如何在Jetty中进行类似的配置,以便在应用程序启动时检测到/ BAL_S上下文?
我想我们需要在Jetty中有两个上下文。我该如何配置?
maven jetty插件的webConfig是什么引用此配置?
希望有人可以提供帮助。例子很有用。
提前致谢。 GM
答案 0 :(得分:1)
OK我所要做的就是添加maven jetty插件配置,如下:
<contextHandlers>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<contextPath>/</contextPath>
<resourceBase>src/main/PortalApp/</resourceBase>
</contextHandler>
</contextHandlers>
因此,这会将上下文路径'/'配置为'src / main / PortalApp /',现在我们可以在标记中找到/ BAL_S。