[英]Cannot load spring configuration xml from external jar file
我已經嘗試過在stackoverflow上編寫的解決方案,但是沒有一個解決了我的問題,可能對我來說不一樣。
我有兩個模塊,“電子郵件服務”(jar)和“電子郵件服務Web”(war)包裝模塊。 我使用maven,“ email-service-web”導入“ email-service” jar文件。 這按預期工作。
我在“ email-service-web” WEB-INF文件夾中的web.xml如下所示:
<servlet>
<servlet-name>springServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:/META-INF/spring/web-application-config.xml
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
web-application-config.xml如下所示:
<import resource="classpath*:applicationContext-email-service-bootstrap.xml"/>
<import resource="classpath*:applicationContext-email-service-environment.xml"/>
<import resource="classpath*:applicationContext-email-service-process.xml"/>
<import resource="classpath*:applicationContext-email-service-integration.xml"/>
<context:component-scan base-package="com.company.emailservice"/>
IntelliJ表示,可以通過不將其顯示為紅色來找到applicationContext- *文件。 我已經確認它們存在於email-service.jar文件中,並且jar文件存在於展開的email-service-web.war文件的lib文件夾中。 另外,我嘗試了各種路徑建議,例如classpath *:** / application * .xml等,什么也沒有發生。 我在集成中有一個HTTP入站通道適配器,jetty找不到它,並給出了404。
春天部分還沒有啟動,我應該從中獲取日志垃圾郵件,但我沒有。 如果我將“電子郵件服務”轉換為戰爭打包的項目,然后將webapp結構移到那里,一切正常。
我究竟做錯了什么?
編輯:
建議不要涉及WEB-INF,因此我已經移動文件並更新了我的問題。
另外,我的項目結構如下:
[email-service]
`--src
`--main
`--src
|--java (classes)
`--resources
|--applicationContext-email-service-bootstrap.xml
|--applicationContext-email-service-environment.xml
|--applicationContext-email-service-process.xml
`--applicationContext-email-service-integration.xml
[email-service-web]
`--src
`--main
|--src
| `--resources
| `--META-INF
| `--spring
| `--web-application-config.xml
`--webapp
`--WEB-INF
`--web.xml
因此,正如M. Deinum所述, WEB-INF
文件夾不在類路徑中,這最終是我的問題。
花了一段時間找出原因,因為在最初的幾次嘗試中,HTTP集成端點(HTTP入站通道適配器)未正確響應,但是第3和第4個請求卻按預期進行了響應。
將web-application-config.xml
放在resources文件夾中確實解決了問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.