import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import gate.*; import gate.creole.*; import gate.util.*; import gate.corpora.RepositioningInfo; public class MyServlet extends GenericServlet { private static boolean gateInited = false; public void init() throws ServletException, IOException { if(!gateInited) { ServletContext ctx = getServletContext(); // use /path/to/your/webapp/WEB-INF as gate.home File gateHome = new File(ctx.getRealPath("/WEB-INF")); Gate.setGateHome(gateHome); // thus webapp/WEB-INF/plugins is the plugins directory, and // webapp/WEB-INF/gate.xml is the site config file. // Use webapp/WEB-INF/user-gate.xml as the user config file, to avoid // confusion with your own user config. Gate.setUserConfigFile(new File(gateHome, "user-gate.xml")); Gate.init(); // load plugins, for example... Gate.getCreoleRegister().registerDirectories( ctx.getResource("/WEB-INF/plugins/ANNIE")); gateInited = true; } } } ------------------------------ Gives the error javac MyServlet.java MyServlet.java:27: MyServlet is not abstract and does not override abstract method service(javax.servlet.ServletRequest,javax.servlet.ServletResponse) in javax.servlet.GenericServlet public class MyServlet extends GenericServlet { ^ MyServlet.java:30: init() in MyServlet cannot override init() in javax.servlet.GenericServlet; overridden method does not throw java.io.IOException public void init() throws ServletException, IOException { ^ 2 errors