我试图创建一个Grizzly Web服务引擎,但缺少一些元素。
这是我想做的事情:
我所知道的:
我想知道的是:
这是我对类加载器所做的
File file = new File("c:\\Users\\User\\Desktop\\myresource.jar");
URL url = file.toURI().toURL();
URL[] urls = new URL[]{url};
ClassLoader cl = new URLClassLoader(urls);
URLClassLoader child = new URLClassLoader (urls, this.getClass().getClassLoader());
Class<?> classToLoad = Class.forName ("Test.ExternalWS.MyResource", true, child);
Method method = classToLoad.getDeclaredMethod ("getIt");
Object instance = classToLoad.newInstance ();
Object result = method.invoke (instance);
this.WSInstance = classToLoad.newInstance();
当我尝试访问localhost时没有任何反应:8080 /....../ myresource。
我尝试了所有可能的网址并设置了断点......从未达到过。
不确定你使用的泽西岛版本。在泽西岛2我用这种方式工作:
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getIt() {
return "Got it!";
}
可能有更优雅的方式......
你在使用Grizzly 1.x或2.x分支吗?
我在Grizzly 1.x开发Grizzly Deployer。如果它符合您的需要,您应该检查源代码