I want to create a basic Google Web Application project and i get an 404 Page not found error.
I followed several tutorials and what i do is this:
Open eclipse - File - New - Other - Web Application Project (under Google) - name it - (it doesn't matter if i check "Use GWT" or not the result is the same - Finish.
Right now i have a newly created web application project, so i can test it in localhost. I right click it, run as - web application project (with google icon). After it finishes in my console i have this:
Mar 22, 2017 10:13:58 AM com.google.apphosting.utils.jetty.JettyLogger info
INFO: Started SelectChannelConnector#0.0.0.0:8888
Mar 22, 2017 10:13:58 AM com.google.appengine.tools.development.AbstractModule startup
INFO: Module instance default is running at http://localhost:8888/
Mar 22, 2017 10:13:58 AM com.google.appengine.tools.development.AbstractModule startup
INFO: The admin console is running at http://localhost:8888/_ah/admin
Mar 22, 2017 12:13:58 PM com.google.appengine.tools.development.DevAppServerImpl doStart
INFO: Dev App Server is now running
I open Chrome and go to localhost and i get:
HTTP ERROR: 404
Problem accessing /.
Reason:
NOT_FOUND
Powered by Jetty://
I must specify that i am deploying behind a proxy server. I tried also to run it without proxy, same result. All my settings are correct, because if i create a Dynamic Web Project and i deploy it on a Tomcat server, that one works fine.
The solution that worked for me is this. Check your Java facet. It has to be 1.7. Mine was 1.8.
Thank you.
So I deployed a WAR file containing my jHipster app (Angularjs+Spring boot) on openshift Tomcat 7 Cartridge. I can open reach my application with no problems (the front end) but once I try to login (interaction with the backend) i get an error.
Normally I check the exception stacktrace in the console of Eclipse IDE if I am debugging my application locally.
I checked the logs in app-root/logs/jbossews.log but I only see that my app is deployed logs. like :
INFO: Deploying web application archive /var/lib/openshift/57582f677628e108ba000096/app-root/runtime/dependencies/jbossews/webapps/ROOT.war
Jun 10, 2016 10:43:18 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /var/lib/openshift/57582f677628e108ba000096/app-root/runtime/dependencies/jbossews/webapps/ROOT.war has finished in 29,121 ms
Jun 10, 2016 10:43:18 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-127.8.28.129-8080"]
Jun 10, 2016 10:43:18 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 29501 ms
Not my application exceptions.
Is there any configuration that I should add to get my application exceptions in the logs ?
Hard to tell without seeing your configuration but there is a "OPENSHIFT_LOG_DIR" environment variable in every Openshift gear and you can use that to write your log files to the designated log directory.
Example in your spring-boot application.yml file, you can add
logging:
path: ${OPENSHIFT_LOG_DIR}
file: myApplication.log
Summary
I've been tasked to write a Java web service to integrate two disparate systems in our enterprise environment. Since I'm actually an experienced C#.NET MVC developer and only consider myself intermediate at Java, I began by searching for "Java Web Service Tutorials". I am trying to run this common tutorial, but I'm unable to run the tutorial service due to an HTTP 404 error.
Process
I'm using the Java Web Application template in Netbeans 8.0.2. I used JDK 1.6.0.25 to compile the tutorial (since the eventual service I need to write will need this Java version to be compatible with some other JARs I'll be using). Everything compiles to a WAR file just fine.
I then deployed the WAR file by loading the server's Tomcat Manager GUI and using the WAR file to deploy feature. When I do so, the WAR file is copied, and the application starts. However, when I attempt to access the service via the link "http://localhost:8080/HelloWorld/hello" from the tutorial, the service returns a 404 error.
Server Environment
Oracle Enterprise Linux distro, version 3.8.13-44.1.1.el6uek.x86_64
Apache Tomcat 6.0.24
JVM 1.7.0_75-mockbuild_2015_01_20_16_42-b00
If the advice is that I need to change the Java or Tomcat versions or platforms, I need to know that as well since I have little experience with these technologies. However, I may not be able to change all the factors due to limitations with my Linux distro (per my server admin).
Things I've tried (in order):
Setup a Local Tomcat Server on Windows
I installed a local Tomcat Server on my Windows 7 laptop. Since the Linux server is running Java 1.7.0.75, I installed a matching Windows version of JRE 1.7.0.75 from Oracle's support page. I then downloaded Apache Tomcat 6.0.24 Windows Service from their archives and installed it successfully, using the JRE 1.7.0.75 and local port 1985 (to separate it from the GlassFish local server used within Netbeans).
Just as on the Linux server, my local Tomcat server couldn't start the tutorial. Manually clicking the start command link gives me the message "FAIL - Application at context path /com.mkyong.ws could not be started". My local server's logs don't show anything about that application failing to start either.
Adding JAX-WS RI JAR files to {$Tomcat}/lib
Per section 5 on the tutorial mentioned above, I then added the indicated JAR files to the server's {$Tomcat}/lib folder and restarted the server. This time, the application started, but I still couldn't access the service. The link "http://localhost:8080/HelloWorld/hello" from the tutorial returns a 404 error. I even tried copying the entire JAX-WS RI/lib folder to the {$Tomcat}/lib directory with no changes, so I backed out this change.
For reference, here's a list of the files I've copied:
gmbal-api-only.jar
ha-api.jar
jaxb-core.jar
jaxb-impl.jar
jaxws-api.jar
jaxws-rt.jar
management-api.jar
policy.jar
stax-ex.jar
streambuffer.jar
Enabling DEBUG mode in the local Tomcat Server
I un-deployed the WAR file. Using the Apache Tomcat Monitor, I stopped the service, deleted the existing logs, enabled the DEBUG logging level, and restarted the service. I then re-deployed the tutorial WAR file. I again saw it didn't start, and then I opened all the log files. There is not even a mention of the failure to access the service, but perhaps 404 errors aren't logged.
Running the service using the Netbeans-embedded Glassfish server
When I first created the Web Application, Netbeans offered to set me up with a local Glassfish server. I accepted, and I set everything up with defaults. When I try to run the tutorial against this server, I cannot access the service. The link "http://localhost:8080/HelloWorld/hello" from the tutorial still returns a 404 error.
Researching other posts and tutorials
Here are some other StackOverflow posts and websites I've reviewed without finding a resolution:
JAX-WS on Tomcat server (doesn't apply)
Deploying JAX-WS webservice as War in Apache Tomcat (similar to the tutorial in recommending to copy the extra JAR files)
JAX-RPC / JAX-WS runtime in Apache Tomcat (just informational)
how to deploy a jax-ws service to eclipse or tomcat? (similar to the tutorial in recommending to copy the extra JAR files)
https://myarch.com/create-jax-ws-service-in-5-minutes/ (similar to the tutorial but without deployment help)
Questions I'm Pondering
Is there something wrong with the code in the tutorial? (Doesn't seem likely since from the comments others have had success.)
Is there a significant difference in the versions of Java or Tomcat he's using in the tutorial? (He doesn't give an versions of Java or Tomcat.)
Should I run local Tomcat against a JDK instead of a JRE?
Should the tutorial be compiled against the same JDK as Tomcat is using? (I hope not as this would seem very limiting...)
Can I even run JAX-WS in Tomcat? (Based on pages like http://tomee.apache.org/apache-tomee.html, it seems like the base TOmcat might not even support JAX-WS? Again, just my limited experience.)
I'd appreciate any troubleshooting guidance anyone can offer. Thank you in advance for the help!
UPDATE #1
Per the request of #NIKETBHANDARY, I stopped the service, deleted the logs, restarted the service, and browsed in Chrome to localhost:1985/helloworld/hello - still getting the 404 error. I then opened the catalina.log file, but it's completely empty. Only jakarta_service.log has any log entries, and all are about the service starting. I also verified that the logging level is set to debug. What else can I change to get additional log messages?
I also ran a search for "com.mkyong" in the entire Tomcat directory. Only the webapp WAR file, webapps/../META-INF/context.xml, webapps/../WEB-INF/sun-jaxws.xml, and /conf/cataline/localhost/com.mkyong.we.xml files returned any hits. Nothing in any logs. Could that indicate that this is a configuration problem?
UPDATE #2
Apparently, Tomcat doesn't flush its log messages fully until the thread closes as the service shuts down (probably due to the logging configuration). As such, I stopped the service which flushed the log files. Here's the entire contents of the catalina.log file (which does contain a reference to com.mkyong):
Aug 17, 2015 9:51:17 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.19.
Aug 17, 2015 9:51:17 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Aug 17, 2015 9:51:19 PM org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-1985
Aug 17, 2015 9:51:19 PM org.apache.coyote.ajp.AjpAprProtocol init
INFO: Initializing Coyote AJP/1.3 on ajp-8009
Aug 17, 2015 9:51:19 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2121 ms
Aug 17, 2015 9:51:19 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Aug 17, 2015 9:51:19 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.24
Aug 17, 2015 9:51:19 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor com.mkyong.ws.xml
Aug 17, 2015 9:51:20 PM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized
INFO: WSSERVLET12: JAX-WS context listener initializing
Aug 17, 2015 9:51:22 PM com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>
INFO: WSSERVLET14: JAX-WS servlet initializing
Aug 17, 2015 9:51:22 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
Aug 17, 2015 9:51:22 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
Aug 17, 2015 9:51:22 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
Aug 17, 2015 9:51:22 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
Aug 17, 2015 9:51:22 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Aug 17, 2015 9:51:22 PM org.apache.coyote.http11.Http11AprProtocol start
INFO: Starting Coyote HTTP/1.1 on http-1985
Aug 17, 2015 9:51:22 PM org.apache.coyote.ajp.AjpAprProtocol start
INFO: Starting Coyote AJP/1.3 on ajp-8009
Aug 17, 2015 9:51:22 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3895 ms
UPDATE #3
I'm becoming more convinced there's a configuration problem somewhere. On a hunch, I studied and installed Apache TomEE 1.7.2 for Windows, pointing to the same JRE as the regular Tomcat. After studying the running.txt file and experimenting with the properties and settings, I was finally able launch a local version of TomEE. I deployed the same WAR file as before, and I found it would not load the WAR application due to the following error:
java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener
Googling that error led (again) to MKYong's blog for a fix (copy the jaxws-rt.jar file to the {$tomcat}/lib folder. I redeployed the WAR file, and the manager loaded the application. HOWEVER, just like on regular Tomcat, the URL "http://localhost:8080/HelloWorld/hello" from the tutorial still returns a 404 error. So, the results are exactly the same.
Short of compiling the tutorial against other versions of JDK, I'm running out of ideas quickly... :-)
UPDATE #4
Per another request below, here's a list of all JAR files in the {$Tomcat}\lib folder:
annotations-api.jar
catalina.jar
catalina-ant.jar
catalina-ha.jar
catalina-tribes.jar
el-api.jar
gmbal-api-only.jar
ha-api.jar
jasper.jar
jasper-el.jar
jasper-jdt.jar
jaxb-core.jar
jaxb-impl.jar
jaxws-api.jar
jaxws-rt.jar
jsp-api.jar
management-api.jar
policy.jar
servlet-api.jar
stax-ex.jar
streambuffer.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
The {$Tomcat}\webapps folder contains the following:
..\com.mkyong.ws
..\docs
..\examples
..\host-manager
..\manager
..\ROOT
..\com.mkyong.ws.war
Update #5
The {$Tomcat}\webapps\com.mkyong.ws directory contains the following:
Here's a screenshot of the Tomcat Manager GUI:
Here's a screenshot of the HTTP 404 error I'm receiving along with the URL:
I've also confirmed that the files in the WAR exactly match the tutorial.
There is problem in deployment of your ws module.
U have just copied the whole folder from the MKyoung sample.
I doesn't work that way around.
Not only that now display all the folders and files structure inside the ws module delete the rest of the modules from your post.I wanted only the structure of ws module.
The module name has to sample instead of com.mkyoung.ws
and the structure for it has to be
**sample**
------WEB-INF
------index.jsp
WEB-INF
----classes
----web.xml
----sun-jaxws.xml
classes
----com
--------mkyoung
-----------ws
ws
-----Helloworld.class
-----HeloworldIMPL.class
#NIKETBHANDARY helped me understand what was wrong and how to quickly correct it. I'd also like to post exactly what I did wrong and how I fixed it permanently so that future coders can benefit from my five-day experience. :-)
When I originally built the tutorial using Netbeans, I used the Java Web --> Web Application template (which is available after installing the Java EE Base plugin accessible through Netbeans --> Tools --> Plugins):
I built all the files exactly per the tutorial, but I failed to really read through step #5, especially this line:
<jar jarfile="${dist}/war/HelloWorld-${DSTAMP}.war" basedir="${dist}/war/build/"/>
After further review, I found that the build script was producing a WAR file called HelloWorld.war. Then, when that file was deployed to Tomcat, the web application was called HelloWorld in the Tomcat Manager. That's why the service endpoint was set to http://localhost:8080/HelloWorld/hello. The "HelloWorld" is literally the name of the Tomcat application, and the "/hello" part corresponds with the endpoint from the sun-jaxws.xml file. (Looking back, it makes total sense given typical web hosting organization. IIS pretty much works the same way.)
So, to fix the problem, I needed to modify the Netbeans project to produce a WAR file named HelloWorld.war. In the tutorial, he includes an actual Ant build script. In this case, I needed to take these steps:
Right-click on the project in the Netbeans Project Explorer.
Choose Properties.
Click on the Build --> Packaging category.
Set the WAR file field to HelloWorld.war.
Here is a screenshot:
Once that was done, I created a new build, deployed to my local Tomcat server, and everything worked as expected. I was also able to deploy the WAR file to my Linux server and test it successfully. Problem solved! :-)
I added a jar file mysql-connector-java-5.1.34-bin.jar to my $CATALINA_HOME/lib/ folder so I could use this library for connection pooling for mysql.
I running a dedicated server with Centos 6.6 X64 with Cpanel.
I installed jdk8 in /opt/jdk1.8.0_25 and installed tomcat 8 by untarring the download in the /home/username/ folder. I followed this tutorial:
http://tecadmin.net/install-tomcat-8-on-centos-rhel-and-ubuntu/
A simple "Hello World" servlet is running by deploying a .war file in the public_html folder
However now when I start up Tomcat (8.0.15) in the catalina.out file I see the error:
09-Dec-2014 17:45:49.152 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.15
09-Dec-2014 17:45:49.182 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /home/username/public_html/J.war
09-Dec-2014 17:45:49.592 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
09-Dec-2014 17:46:04.623 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [14,997] milliseconds.
09-Dec-2014 17:46:04.657 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /home/username/public_html/J.war has finished in 15,474 ms
And the connection pooling doesn't work. At my previous server the hosting company had setup tomcat with Cpanel and this worked just fine. I did not change the servlets so that cannot be the problem either.
My environment variables are:
CATALINA_HOME=/home/username/apache-tomcat-8.0.15
JRE_HOME=/opt/jdk1.8.0_25/jre
JAVA_PATH=/opt/jdk1.8.0_25/jre
PATH=/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr
/bin:/opt/jdk1.8.0_25/jre/bin:/opt/jdk1.8.0_25/bin:/usr/local/bin:/usr/X11R6/bin
:/root/bin:/opt/jdk1.8.0_25/bin
JAVA_HOME=/opt/jdk1.8.0_25
CLASSPATH=.:/usr/local/jdk/lib/classes.zip
The last CLASSPATH I do not understand because there is no file classes.zip on the server.
I also tried adding the jar file directly in the WEB-INF/lib folder of the deployed war file but this also did not work (the error in catalina.out was gone though).
Can somebody explain what I'm doing wrong with adding the library?
Thanks
I'm trying to deploy a Java web application running on Tomcat. I got the book
Professional Java for Web Applications: Featuring Websockets, Spring Framework, JPA Hibernate, and Spring Security
and I've done everything said to get IntelliJ IDEA 13 work together with Tomcat 8.0.9. I've tested the server container manually and it works great, even deploying .war files works great. However when i move on to start/debug a web application - in this case the first example form the book - from IntelliJ the application wont start. The output in the Tomcat Log doesn't say much.
Server output tells me this:
Connected to server
[2014-08-08 09:17:35,075] Artifact Sample-Debug-IntelliJ:war exploded: Artifact is being deployed, please wait...
[2014-08-08 09:17:35,097] Artifact Sample-Debug-IntelliJ:war exploded: Error during artifact deployment. See server log for details.
[2014-08-08 09:17:35,098] Artifact Sample-Debug-IntelliJ:war exploded: com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException: L:\java-dev\java_web_apps_chapter_code\9781118656464 Full Code\Chapter 02\Sample-Debug- IntelliJ\target\sample-debug-intellij-1.0.0.SNAPSHOT not found for the web module.
08-Aug-2014 21:17:44.671 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory L:\java-dev\apache-tomcat-8.0.9\webapps\manager
08-Aug-2014 21:17:44.939 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory L:\java-dev\apache-tomcat-8.0.9\webapps\manager has finished in 268 ms
Tomcat Catalina Log output this:
08-Aug-2014 22:56:35.843 INFO [main] org.apache.catalina.core.AprLifecycleListener.init Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.4.8.
08-Aug-2014 22:56:35.846 INFO [main] org.apache.catalina.core.AprLifecycleListener.init APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
08-Aug-2014 22:56:36.652 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.1g 7 Apr 2014)
08-Aug-2014 22:56:36.738 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"]
08-Aug-2014 22:56:36.746 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"]
08-Aug-2014 22:56:36.747 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1060 ms
08-Aug-2014 22:56:36.771 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
08-Aug-2014 22:56:36.771 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.9
08-Aug-2014 22:56:36.778 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
08-Aug-2014 22:56:36.784 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
08-Aug-2014 22:56:36.785 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 38 ms
08-Aug-2014 22:56:46.785 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory L:\java-dev\apache-tomcat-8.0.9\webapps\manager
08-Aug-2014 22:56:47.035 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory L:\java-dev\apache-tomcat-8.0.9\webapps\manager has finished in 251 ms
I've tried on both Windows and OSX and it's the same story on both with the exact same error.
When i access http://localhost:8080/i can see that the server is up and running. However, the application isn't deployed.
Anyone experiencing the same error as me and/or know a solution?
I'm running IntelliJ IDEA 13.0.3, Java 1.8.0_11 and Tomcat 8.0.9.
EDIT: I've also tried with IntelliJ IDEA 13.1.4. Didn't make any difference.
Steps taken
Downloaded Java 1.8.0_11, installed it and added it to environment variables.
Downloaded Tomcat, unpacked it and made the following changes to it (step 2-4);
In conf/tomcat-users.xml i added this user:
<user username="admin" password="admin" roles="manager-gui,admin-gui" />
In conf/web.xml i added the code below beneath the org.apache.jasper.servlet.jspServlet element
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compiler</param-name>
<param-value>modern</param-value>
</init-param>
Downloaded apache-ant and added a setenv.bat file in the apache-tomcat/bin directory with the following script
export CLASSPATH=L:/java-dev/jdk8/lib/tools.jar:L:/java-dev/apache-ant/lib/ant.jar:L:/java-dev/apache-ant/lib/ant-launcher.jar
Started IntelliJ and added the Tomcat application server.
Then i imported the project and set it to use the Tomcat server that I just added.
UPDATE: 2014-08-09 16:22
I tried to deploy a JavaEE web application that IntelliJ created itself, and that worked right away. Seems like it's something wrong with the source code that the book references.
I had similar problem. The problem was in artifact configuration in Run/Debug Configurations. I had to remove the project artifact and readd it. The important thing is to choose Web Application: Exploded, From Modules...
You can read my blog post that contains screenshots about this issue.
For me it worked with:
File >Project Structure >Artifacts
In the
Output Layout on the right side >"Available Elements?"
right click on the available libraries ( for me it was "Spring MVC-4.2.4.RELEASE")
Put into Lib ( actually click on the fix warning button )
And it worked.
Open "Debug Configuration" in IntelliJ IDEA and make sure that "Deploy applications configured in Tomcat" checkbox is checked as it shown on the screenshot
open the artifact config dialog (artifact > edit...)
check 'Show contents of elements' in the dialogs bottom section
highlight the 'WEB-INF' directory
right click on the library container (on the right pane)
select from context menu 'put into /WEB-INF/lib'
the lib folder is added in the output layout
rebuild artifact
restart webserver
Hope it helps.