I have just started integrating spring framework 5.2.8
with jersey 3.0.2
version. I know we can do it with spring-boot but that's not my requirement. I want the service to run on tomcat server 8.5. I have customized the pom.xml
for miniature size, the left side is groupId and the rest are dependencies artifactIds :
org.springframework : spring-core, spring-context, spring-beans
org.glassfish.jersey.ext : jersey-spring5, spring-web
org.glassfish.jersey.containers : jersey-container-servlet, jersey-container-grizzly2-http
org.glassfish.jersey.media : jersey-media-json-jackson
com.fasterxml.jackson.core : jackson-core, jackson-annotations, jackson-databind
com.fasterxml.jackson.module : jackson-module-jaxb-annotations
My main class looks like :
@ApplicationPath("resources")
public class Application extends ResourceConfig {
public Application() {
packages("some.path.of.it.resources;some.other.path.of.it.resources");
}
}
Now comes my main resource class :
@Path("helloworld")
public class MyResources {
public static final String CLICHED_MESSAGE = "Hello Krishna ... !";
@GET
@Produces("text/plain")
public String getHello() {
return CLICHED_MESSAGE;
}
}
Now i have a few issues here :
- http://localhost:8080/warname/resources/helloworld is throwing 404 why so ?
- I am not able to use MediaType class from spring but am forced to use jakarta packages how can i change it?
- If i want to use jackson binding with my resource input objects how can i do it ?
I have seen some online samples but ended up with some other errors.
UPDATE
Tried both http://localhost:8080/hc-cms-1.0-SNAPSHOT/resources/helloworld
and http://localhost:8080/resources/helloworld
just throws HTTP Status 404 – Not Found
no other error or issues in logs.
20-May-2021 16:36:18.543 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/8.5.66
20-May-2021 16:36:18.547 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: May 8 2021 22:44:01 UTC
20-May-2021 16:36:18.547 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 8.5.66.0
20-May-2021 16:36:18.548 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows 10
20-May-2021 16:36:18.548 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0
20-May-2021 16:36:18.548 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
20-May-2021 16:36:18.548 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files\Java\jdk1.8.0_271\jre
20-May-2021 16:36:18.549 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_271-b09
20-May-2021 16:36:18.549 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
20-May-2021 16:36:18.549 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Tools\apache-tomcat-8.5.66
20-May-2021 16:36:18.549 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Tools\apache-tomcat-8.5.66
20-May-2021 16:36:18.549 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Tools\apache-tomcat-8.5.66\conf\logging.properties
20-May-2021 16:36:18.550 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
20-May-2021 16:36:18.550 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
20-May-2021 16:36:18.550 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
20-May-2021 16:36:18.550 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
20-May-2021 16:36:18.550 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Tools\apache-tomcat-8.5.66
20-May-2021 16:36:18.558 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Tools\apache-tomcat-8.5.66
20-May-2021 16:36:18.563 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Tools\apache-tomcat-8.5.66\temp
20-May-2021 16:36:18.566 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_271\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Python39\Scripts\;C:\Python39\;C:\Windows;C:\Windows\system32;C:\Program Files\Java\jdk1.8.0_271\bin;C:\Program Files\Docker\Docker\Resources\bin;C:\maven\bin;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\TortoiseGit\bin;D:\software\apache-ant-1.8.4\bin;C:\Program Files\PuTTY\;C:\Users\rahul.kishan\Downloads\sonar-scanner-cli-3.0.3.778-windows\sonar-scanner-3.0.3.778-windows\bin;D:\software\kotlin-compiler-1.2.21\kotlinc\bin;%M2_HOME%\bin;C:\Program Files (x86)\CrSSL\bin;C:\gradle\bin;C:\apache-tomcat\apache-tomcat-8.5.0\bin;C:\Platform\UnxUpdates\;C:\Program Files\PostgreSQL\bin;C:\ProgramData\chocolatey\bin;C:\Program Files\MariaDB 10.5\bin;C:\Users\raghuveer.murthy\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Git\cmd;C:\DB\mysql-5.6.51\bin;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Users\raghuveer.murthy\AppData\Local\Microsoft\WindowsApps;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\bin;;C:\Users\raghuveer.murthy\AppData\Roaming\npm;C:\Users\raghuveer.murthy\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Users\raghuveer.murthy\AppData\Local\Programs\Microsoft VS Code\bin;.]
20-May-2021 16:36:18.795 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
20-May-2021 16:36:19.291 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
20-May-2021 16:36:19.315 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1407 ms
20-May-2021 16:36:19.374 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
20-May-2021 16:36:19.375 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/8.5.66]
20-May-2021 16:36:19.423 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Tools\apache-tomcat-8.5.66\webapps\hc-cms-1.0-SNAPSHOT.war]
20-May-2021 16:36:23.155 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.
20-May-2021 16:36:23.242 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Tools\apache-tomcat-8.5.66\webapps\hc-cms-1.0-SNAPSHOT.war] has finished in [3,818] ms
20-May-2021 16:36:23.245 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\docs]
20-May-2021 16:36:23.289 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\docs] has finished in [44] ms
20-May-2021 16:36:23.289 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\examples]
20-May-2021 16:36:23.849 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\examples] has finished in [560] ms
20-May-2021 16:36:23.851 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\host-manager]
20-May-2021 16:36:23.909 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\host-manager] has finished in [58] ms
20-May-2021 16:36:23.911 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\manager]
20-May-2021 16:36:24.071 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\manager] has finished in [160] ms
20-May-2021 16:36:24.073 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\ROOT]
20-May-2021 16:36:24.118 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Tools\apache-tomcat-8.5.66\webapps\ROOT] has finished in [45] ms
20-May-2021 16:36:24.149 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
20-May-2021 16:36:24.218 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 4902 ms
http://localhost:8080/manager/html
Do you see your app deployed there?
------------- Edited ----------------
Do you have servlet configuration setup?
Then try "http://localhost:8080/yourwarname/resources/helloworld";