我有一些WAR部署到TomEE Plus中的一些JAX-RS服務。鑑於服務註釋爲@Path("myservice")
,TomEE +將其發佈到localhost:8080/mywebapp/myservice
。如何在TomEE +中配置JAX-RS基礎路徑?
但是,這也使訪問一個JSP在localhost:8080/mywebapp/index.jsp
不可能 - JAXRSInInterceptor抱怨No root resource matching request path has been found, Relative Path: /index.jsp
。
所以我想爲所有服務配置路徑前綴api
,這會將myservice
URL更改爲localhost:8080/mywebapp/api/myservice
。如果我自己配置CXF(有或沒有Spring),這樣做會很簡單,因爲我可以簡單地更改CXF Servlet的URL模式 - 但我依賴的是默認設置,除了註釋。那麼在這種情況下我該怎麼做?
請注意,我不想更改@Path
註釋以包含前綴,因爲這不能解決JSP問題。
好的,那可行,謝謝!但是,我更喜歡這樣做的方式,不強迫我實現'getClasses()'方法。當我沒有'Application'類時,我的資源被自動檢測到,但是當我有一個''''並且不覆蓋'getClasses()'時,沒有資源被建立:-( –
我建議採取如果他們正在處理這樣的情況,請查看CXF專有API(Jersey做的,請參閱[ResourceConfig#packages](https://jersey.java.net/apidocs/latest/jersey/org/glassfish/jersey/server/ResourceConfig .html#packages(java.lang.String ...)),所以這並不罕見)。 –