Having your application context xml in your jar/classpath is a perfectly legitimate requirement. It does not mean you need to use the ClassPathXmlApplicationContext though.
In your web.xml you can configure the ContextLoaderListener to load the application xml out of the classpath.
Code:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>