Používam kód v dolnej časti, aby som programovo konfiguroval môj GrizzlyWebServer. Teraz by som rád použil FreemarkerMvcFeature, ktorý sa odporúča pridať takto:
new ResourceConfig().register(org.glassfish.jersey.server.mvc.freemarker.FreemarkerMvcFeature)
Problémom je, že metóda registra je k dispozícii iba v org.glassfish.jersey.server.ResourceConfig
ale dievčenská továreň očakáva a com.sun.jersey.api.core.ResourceConfig
, Existuje spôsob, ako zaregistrovať funkcie na com.sun.jersey.api.core.ResourceConfig
?
// include all resource classes in package somepackage
ResourceConfig rc = new PackagesResourceConfig("somepackage");
// configure server to use Freemarker template engine
Map<String, Object> params = new HashMap<String, Object>();
params.put(FreemarkerViewProcessor.FREEMARKER_TEMPLATES_BASE_PATH, "/src/main/resources/templates");
rc.setPropertiesAndFeatures(params);
// create the server with the resource config
HttpServer server = GrizzlyServerFactory.createHttpServer(BASE_URI, rc);
odpovede:
2 pre odpoveď č. 1Myslím, že ste nejako zmiešali závislosť Jersey 1 a Jersey 2. Podľa tohto https://jersey.java.net/apidocs/latest/jersey/org/glassfish/jersey/server/class-use/ResourceConfig.html#org.glassfish.jersey.grizzly2.httpserver
Jersey 2.0 GrizzlyHttpServerFactory prijíma parameter org.glassfish.jersey.server.ResourceConfig ako parameter.