我已经使用Axis2创建了一个web服务客户端。我想将客户机打包到一个jar中,这样我就可以在其他几个项目中使用它。客户端使用Axis2 WS-Security模块“rampart”。这个模块,rampart。mar(不是打字错误!)必须位于轴“存储库路径”上,位于名为“模块”的目录中。客户端还需要一个安全策略文件policy。xml。最后两个的位置是通过Spring注入的,但由于它们不会更改,所以我想将它们打包到jar中。
如果插入文件对象,如:
<bean id="webserviceStubFactory" class="com.company.WebserviceStubFactory">
<constructor-arg value="classpath:policy.xml"/>
</bean>
当直接运行/测试项目时,它可以正常工作。然而,当您将其打包到一个罐子中时,您会得到
java.io.FileNotFoundException: class path resource [policy.xml] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/path/to/webservice-0.8.jar!/policy.xml
因此,问题基本上归结为:是否可以使用Spring在jar中注入一条路径(即使它只是/),并让其他库从该路径读取,就好像它是一个常规文件系统一样?我猜不是,但我想在开发/测试/生产环境上安装外部“axis存储库”并拥有rampart的多个副本之前确定一下。马尔到处躺着。