I am aware of some dependencies problem between Spring Cloud and Jersey.
I need to register my TeaStore service (currently trying with one of them) made in Maven, Jakarta, Jersey and NOT spring.
This is the original pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>registry</artifactId>
<packaging>war</packaging>
<name>TeaStore Registry</name>
<url>http://descartes.tools</url>
<distributionManagement>
<repository>
<id>se-uw-nexus</id>
<name>Releases</name>
<url>https://se4.informatik.uni-wuerzburg.de/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>se-uw-nexus</id>
<name>Snapshots</name>
<url>https://se4.informatik.uni-wuerzburg.de/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<repositories>
<repository>
<id>se-uw-nexus</id>
<name>Public Repositories</name>
<url>https://se4.informatik.uni-wuerzburg.de/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- Internal Dependencies -->
<dependency>
<groupId>tools.descartes.teastore</groupId>
<artifactId>entities</artifactId>
<version>${teastoreversion}</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency> <!-- Logging framework also used by ribbon -->
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
</dependency>
<!-- WebApp Dependencies -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>3.0.2</version>
</dependency>
<!-- Dependencies only needed for compilation -->
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>9.0.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>tools.descartes.teastore.registry</finalName>
<plugins>
<plugin>
<!-- Attach classes so that registryclient can import registry for testing. -->
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<attachClasses>true</attachClasses>
<classesClassifier>classes</classesClassifier>
</configuration>
</plugin>
</plugins>
</build>
<parent>
<groupId>tools.descartes.teastore</groupId>
<artifactId>parent</artifactId>
<version>${teastoreversion}</version>
<relativePath>../..</relativePath>
</parent>
</project>
I have already tried to add simple spring cloud dependency, annotation and application properties but it does not work.
Now I excluded jersey form the Spring dependencies having this pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>registry</artifactId>
<packaging>war</packaging>
<name>TeaStore Registry</name>
<url>http://descartes.tools</url>
<distributionManagement>
<repository>
<id>se-uw-nexus</id>
<name>Releases</name>
<url>https://se4.informatik.uni-wuerzburg.de/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>se-uw-nexus</id>
<name>Snapshots</name>
<url>https://se4.informatik.uni-wuerzburg.de/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<repositories>
<repository>
<id>se-uw-nexus</id>
<name>Public Repositories</name>
<url>https://se4.informatik.uni-wuerzburg.de/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2021.0.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.1.5.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Internal Dependencies -->
<dependency>
<groupId>tools.descartes.teastore</groupId>
<artifactId>entities</artifactId>
<version>${teastoreversion}</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency> <!-- Logging framework also used by ribbon -->
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
</dependency>
<!-- WebApp Dependencies -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.15.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>3.1.3</version>
</dependency>
<!-- Dependencies only needed for compilation -->
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>9.0.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>tools.descartes.teastore.registry</finalName>
<plugins>
<plugin>
<!-- Attach classes so that registryclient can import registry for testing. -->
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<attachClasses>true</attachClasses>
<classesClassifier>classes</classesClassifier>
</configuration>
</plugin>
</plugins>
</build>
<parent>
<groupId>tools.descartes.teastore</groupId>
<artifactId>parent</artifactId>
<version>${teastoreversion}</version>
<relativePath>../..</relativePath>
</parent>
</project>
In the logs now, I do not receive any error but even nothing from the Discovery Service.
This is my log after running the service:
25-Nov-2023 15:05:57.622 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/10.0.7
25-Nov-2023 15:05:57.633 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jun 8 2021 16:31:06 UTC
25-Nov-2023 15:05:57.633 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 10.0.7.0
25-Nov-2023 15:05:57.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
25-Nov-2023 15:05:57.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 6.4.16-linuxkit
25-Nov-2023 15:05:57.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
25-Nov-2023 15:05:57.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/local/openjdk-11
25-Nov-2023 15:05:57.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 11.0.11+9
25-Nov-2023 15:05:57.634 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
25-Nov-2023 15:05:57.635 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat
25-Nov-2023 15:05:57.635 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat
25-Nov-2023 15:05:57.657 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
25-Nov-2023 15:05:57.657 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
25-Nov-2023 15:05:57.657 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -javaagent:/kieker/agent/agent.jar
25-Nov-2023 15:05:57.657 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
25-Nov-2023 15:05:57.657 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dkieker.monitoring.configuration=/kieker/config/kieker.monitoring.properties
25-Nov-2023 15:05:57.657 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Daj.weaving.verbose=false
25-Nov-2023 15:05:57.658 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.aspectj.weaver.loadtime.configuration=aop.xml
25-Nov-2023 15:05:57.659 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dkieker.monitoring.skipDefaultAOPConfiguration=true
25-Nov-2023 15:05:57.659 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Daj.weaving.loadersToSkip=java.net.URLClassLoader
25-Nov-2023 15:05:57.659 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true
25-Nov-2023 15:05:57.659 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
25-Nov-2023 15:05:57.659 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
25-Nov-2023 15:05:57.659 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
25-Nov-2023 15:05:57.659 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
25-Nov-2023 15:05:57.660 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
25-Nov-2023 15:05:57.660 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
25-Nov-2023 15:05:57.660 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
25-Nov-2023 15:05:57.667 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.30] using APR version [1.6.5].
25-Nov-2023 15:05:57.668 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true], UDS [true].
25-Nov-2023 15:05:57.679 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1d 10 Sep 2019]
25-Nov-2023 15:05:58.245 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
25-Nov-2023 15:05:58.285 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-127.0.0.1-8009"]
25-Nov-2023 15:05:58.287 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [931] milliseconds
25-Nov-2023 15:05:58.390 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
25-Nov-2023 15:05:58.390 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/10.0.7]
25-Nov-2023 15:05:58.406 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/local/tomcat/webapps/tools.descartes.teastore.registry.war
[ParallelWebappClassLoader@7203c7ff] error Cannot find parent aspect for: <concrete-aspect name='kieker.monitoring.probe.aspectj.operationExecution.TargetedAspect' extends='tools.descartes.teastore.kieker.probes.AbstractOperationExecutionWithParameterAspect' perclause='null'/> in aop.xml
[ParallelWebappClassLoader@7203c7ff] error Concrete-aspect 'kieker.monitoring.probe.aspectj.operationExecution.TargetedAspect' could not be registered
[ParallelWebappClassLoader@7203c7ff] warning failure(s) registering aspects. Disabling weaver for class loader org.apache.catalina.loader.ParallelWebappClassLoader@7203c7ff
25-Nov-2023 15:05:59.361 INFO [main] 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.
[main] INFO tools.descartes.teastore.registry.rest.RegistryStartup - Registry online **********
25-Nov-2023 15:05:59.976 WARNING [main] org.glassfish.jersey.server.wadl.WadlFeature.configure JAXBContext implementation could not be found. WADL feature is disabled.
25-Nov-2023 15:06:00.617 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/usr/local/tomcat/webapps/tools.descartes.teastore.registry.war] has finished in [2,210] ms
25-Nov-2023 15:06:00.627 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
25-Nov-2023 15:06:00.642 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-127.0.0.1-8009"]
25-Nov-2023 15:06:00.646 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [2358] milliseconds
and the @EnableEurekaClient annotation (with the correct properties that works for other services).
I really need help !!
Annotation, dependencies exclusion and properties.
Is there a way to make it registering or should I use the manually API of Eureka?