0

These past months I've been coding up a dynamic web project on Eclipse. The aim of the project is to create a web where users can enter a little poem to adapt it to the Easy to Read methodology (it eliminates all its abbreviations and contractions, and substitutes its complex words, among other things).

To achieve this, most of my java files implement the Babelfy and the Babelnet libraries. In order for them to work, you need to add several jar files to the Build Path, copy the 'config' folder into your 'workspace/projectFolder/' and specify a valid key using the "babelnet.key" property in the config/babelnet.var.properties file, which I have already done.

However, when I try to run the project on the server (I have installed the Apache Tomcat 10.0.13), I get the following exception:

Servlet.service() for servlet [jsp] in context with path [/SUPER_App] threw exception [An exception occurred while processing JSP page [AdaptedPoem.jsp] online [59]

56:
57: if(Contracciones.esContraccion(Sentence.convertirTexto(poemaOriginal)) || ContadorPalabras.nPalComplicada(poemaOriginal) > 0 
58:    || CaracteresEspeciales.esCaracterEspecial(Sentence.convertirTexto(poemaOriginal))) {
59:         poemaParcial = Cambios.cambioPoema(poemaOriginal);
60:         poemaFinal = poemaParcial;
61:
62:         if(solicitudIndiceFernandezHuerta.equals("1")) {

Stacktrace:] with root cause
java.lang.IllegalArgumentException: Please define the parameter babelfy.key in babelfy.properties in the config folder.
        at it.uniroma1.lcl.babelfy.commons.restful.RFPacket.<init>(RFPacket.java:35)
        at it.uniroma1.lcl.babelfy.core.Babelfy.babelfy(Babelfy.java:56)
        at contadoresCastellano.Cambios.sacarID(Cambios.java:1058)
        at contadoresCastellano.Cambios.cambioPoema(Cambios.java:438)
        at org.apache.jsp.poemaAdaptado_jsp._jspService(poemaAdaptado_jsp.java:189)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:777)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328)
        at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:777)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:872)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1695)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.base/java.lang.Thread.run(Thread.java:833)

My guess is that the project isn't able to find the 'config/' folder and therefore all its files. I've tried to add the 'config/' folder in the project build classpath (Build Path > Source > Add Folder) with no result. I also added all the jar files from the Build Path into the 'WEB-INF/lib' folder, but that didn't change anything either.

Here you can take a look at my project structure, maybe it helps

  • I think you should try putting the config folder into Tomcat's classes folder. The classes folder should be inside Tomcat's WEB-INF folder. – rickz May 16 '22 at 23:58
  • Hi there, sorry for not getting back to you sooner. I've tried doing what you've told me, but it hasn't worked either. I put the config folder inside the WEB-INF folder (workspace\SUPER_App\src\main\webapp\WEB-INF\classes\config), but I keep getting the same exception as before. – Íñigo Ramírez May 22 '22 at 22:52

0 Answers0