我们有一个 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>
带配置
<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 来引用这个配置?
希望有人可以提供帮助。示例会很有用。
提前致谢。通用汽车