如何根据配置文件中的uri字符串动态设置ApplicationPath? 还有其他选择吗?
import javax.ws.rs.core.Application;
@javax.ws.rs.ApplicationPath("some/uri/test")
public class ApplicationConfig extends Application
{
}
答案 0 :(得分:0)
据我所知,您无法动态设置@ApplicationPath
的值。
但是,您可以尝试使用web.xml
部署描述符配置应用程序路径。不使用url-pattern
进行硬编码,而是使用Maven Resource Filtering从配置文件中读取值。
在使用JAX-RS 1.1及更高版本的Servlet 3.x中,您可以在Application
中指定实现<servlet-name>
的类的完全限定名称。请注意,Servlet声明中省略了<servlet-class>
元素:
<web-app>
<servlet>
<servlet-name>org.example.ApplicationConfig</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>org.example.ApplicationConfig</servlet-name>
<url-pattern>${application.path}</url-pattern>
</servlet-mapping>
</web-app>
有关如何配置${application.path}
变量值的详细信息,请参阅Maven Resource Filtering文档。