0

How can I properly add external .jar to libraries is NetBeans 8.2?

I'm doing a web application made using .jsp files, run on Tomcat server (locally so far). I'm using Maven and I think I have a problem with all 3rd party JARs, because I tried also adding JSON libraries and it didn't work neither. I also tried adding those libraries via Tools->Libraries->Add JAR/Folder etc. and NetBeans shows they are added, but the error still occures during instantiating the ojdbc driver in my Java code.

The way I'm doing it using other answers in similiar question don't work for me and I reveive errors:

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.mycompany.project1.ConnectionToOracle.getConnection(ConnectionToOracle.java:47)
at org.apache.jsp.mainPage_jsp._jspService(mainPage_jsp.java:151)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
  • 1
    We may need some more information to provide better help: (1) What type of Java project - plain Java application, or a web app (e.g. a WAR running in a container such as Tomcat), or something else? (2) What dependency tool are you using? Maven, Gradle, something else, nothing at all? Different tools have different ways of handling 3rd party JARs; (3) Is this only a problem for your JDBC driver, or any/all libraries? You also mentioned you have tried some things without success - what have you tried? – andrewJames Feb 26 '21 at 17:01
  • Well, (1) it's a web application made using .jsp files, run on Tomcat server (locally so far). (2) I'm using Maven and (3) I think I have a problem with all 3rd party JARs, because I tried also adding JSON libraries and it didn't work neither. I also tried adding those libraries via Tools->Libraries->Add JAR/Folder etc. and NetBeans shows they are added, but the error still occures during instantiating the ojdbc driver in my Java code. Have you got aby idea how to fix it? – The_Long_Distance_Runner Feb 26 '21 at 17:56
  • 1
    Thank you for the notes - you can [edit] your question and add those details in there (I should have seen Tomcat from the stack trace). If you are having problems with _all_ Maven dependencies, then it may be worth [clearing the NB cache](https://stackoverflow.com/questions/47528158/clear-the-netbeans-8-2-cache), just to rule that out. Otherwise, there are many questions on SO about JDBC drivers and classpath issues (but sounds like you have read at least some already). – andrewJames Feb 26 '21 at 20:41
  • @andrewjames I deleted the cache, but the problem still occures. What else can you advise me to do? – The_Long_Distance_Runner Feb 27 '21 at 17:10
  • 1
    Given you are using Maven, and given _none_ of your Maven dependencies are functional, can you show us your project's `pom.xml` file? Also, you can [clear the Maven cache](https://stackoverflow.com/questions/7408545/how-do-you-clear-apache-mavens-cache), and then re-build your project. These are just guesses/suggestions - I suspect they may not help, but are worth trying. – andrewJames Feb 27 '21 at 20:10
  • 1
    Yes, you were right - I was missing dependencies in my pom.xml file. Thank you for your help :-D – The_Long_Distance_Runner Feb 27 '21 at 20:25

1 Answers1

1

In case someone could struggle with this like me...

Just remember to add dependency to your pom.xml file (it is not mentioned in answers to other questions on StackOverflow):

    <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>{your numer of ojdbc6 version}</version>
    </dependency>