Skip to content

As a Java Developer, facing error(s) when trying to run the controller locally via mvn spring-boot:run. #1157

@muhammad-levi

Description

@muhammad-levi

GIVEN:

WHEN:

THEN:

  • Encountered error along this line: "Unsatisfied dependency",
  • In the bottom of this issue description is the stack trace.

What thing(s) are missing to run the controller locally via mvn spring-boot:run?

levi@Axolotl:/mnt/d/SourceCodes/google/fhir-data-pipes/pipelines/controller$ mvn spring-boot:run
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< com.google.fhir.analytics:controller >----------------
[INFO] Building controller 0.2.7-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] >>> spring-boot:3.2.2:run (default-cli) > test-compile @ controller >>>
[WARNING] 1 problem was encountered while building the effective model for org.apache.hadoop:hadoop-annotations:jar:2.6.0
[WARNING] 2 problems were encountered while building the effective model for org.apache.yetus:audience-annotations:jar:0.5.0
[INFO]
[INFO] --- directory:1.0:highest-basedir (directories) @ controller ---
[INFO] Highest basedir set to: /mnt/d/SourceCodes/google/fhir-data-pipes
[INFO]
[INFO] --- jacoco:0.8.12:prepare-agent (default) @ controller ---
[INFO] argLine set to -javaagent:/home/levi/.m2/repository/org/jacoco/org.jacoco.agent/0.8.12/org.jacoco.agent-0.8.12-runtime.jar=destfile=/mnt/d/SourceCodes/google/fhir-data-pipes/pipelines/controller/target/jacoco.exec
[INFO]
[INFO] --- license:4.5:format (add-license) @ controller ---
[WARNING]  Parameter 'legacyConfigExcludes' (user property 'license.excludes') is deprecated: use LicenseSet.excludes
[WARNING]  Parameter 'legacyConfigHeader' (user property 'license.header') is deprecated: use LicenseSet.header
[WARNING]  Parameter 'legacyConfigIncludes' (user property 'license.includes') is deprecated: use LicenseSet.includes
[INFO] Updating license headers...
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ controller ---
[INFO] Copying 6 resources from src/main/resources to target/classes
[INFO]
[INFO] --- compiler:3.13.0:compile (default-compile) @ controller ---
[INFO] Nothing to compile - all classes are up to date.
[INFO]
[INFO] --- spotless:2.43.0:apply (default) @ controller ---
[INFO] Spotless.Format is keeping 1 files clean - 0 were changed to be clean, 0 were already clean, 1 were skipped because caching determined they were already clean
[INFO] Spotless.Format is keeping 1 files clean - 0 were changed to be clean, 0 were already clean, 1 were skipped because caching determined they were already clean
[INFO] Spotless.Java is keeping 22 files clean - 0 were changed to be clean, 0 were already clean, 22 were skipped because caching determined they were already clean
[INFO] Spotless.Pom is keeping 1 files clean - 0 were changed to be clean, 0 were already clean, 1 were skipped because caching determined they were already clean
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ controller ---
[INFO] Copying 3 resources from src/test/resources to target/test-classes
[INFO]
[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ controller ---
[INFO] Nothing to compile - all classes are up to date.
[INFO]
[INFO] <<< spring-boot:3.2.2:run (default-cli) < test-compile @ controller <<<
[INFO]
[INFO]
[INFO] --- spring-boot:3.2.2:run (default-cli) @ controller ---
[INFO] Attaching agents: []

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.2.2)

13:39:43.901 [restartedMain] INFO  c.g.f.a.ControlPanelApplication org.springframework.boot.StartupInfoLogger.logStarting:50 - Starting ControlPanelApplication using Java 17.0.12 with PID 76996 (/mnt/d/SourceCodes/google/fhir-data-pipes/pipelines/controller/target/classes started by levi in /mnt/d/SourceCodes/google/fhir-data-pipes/pipelines/controller)
13:39:43.908 [restartedMain] INFO  c.g.f.a.ControlPanelApplication org.springframework.boot.SpringApplication.logStartupProfileInfo:654 - No active profile set, falling back to 1 default profile: "default"
Aug 21, 2024 1:39:52 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Aug 21, 2024 1:39:52 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Tomcat]
Aug 21, 2024 1:39:52 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet engine: [Apache Tomcat/10.1.18]
Aug 21, 2024 1:39:52 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring embedded WebApplicationContext
13:39:53.245 [restartedMain] WARN  o.s.boot.actuate.endpoint.EndpointId o.springframework.boot.actuate.endpoint.EndpointId.logWarning:155 - Endpoint ID 'pipeline-metrics' contains invalid characters, please migrate to a valid format.
13:39:53.923 [restartedMain] INFO  c.g.f.analytics.FlinkConfiguration com.google.fhir.analytics.FlinkConfiguration.initialiseFlinkConfiguration:107 - Creating Flink temporary configuration directory at
/tmp/tmp-flink-conf15747916679248383578
13:39:53.994 [restartedMain] INFO  c.g.f.analytics.FlinkConfiguration com.google.fhir.analytics.FlinkConfiguration.validateAndCreateConfFile:138 - Network memory : 12845056
13:39:54.016 [restartedMain] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext o.s.context.support.AbstractApplicationContext.refresh:632 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'apiController': Unsatisfied dependency expressed through field 'pipelineManager': Error creating bean with name 'pipelineManager': Invocation of init method failed
Aug 21, 2024 1:39:54 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service [Tomcat]
13:39:54.352 [restartedMain] ERROR o.s.boot.SpringApplication org.springframework.boot.SpringApplication.reportFailure:851 - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'apiController': Unsatisfied dependency expressed through field 'pipelineManager': Error creating bean with name 'pipelineManager': Invocation of init method failed
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:787)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:767)
        at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:508)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1418)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:959)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:334)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
        at com.google.fhir.analytics.ControlPanelApplication.main(ControlPanelApplication.java:25)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pipelineManager': Invocation of init method failed
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:222)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:421)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1765)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:784)
        ... 25 common frames omitted
Caused by: java.lang.IllegalAccessError: class com.google.fhir.analytics.PipelineManager tried to access method 'com.google.fhir.analytics.AvroConversionUtil com.google.fhir.analytics.AvroConversionUtil.getInstance(ca.uhn.fhir.context.FhirVersionEnum, java.lang.String, int)' (com.google.fhir.analytics.PipelineManager is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @69e1e8d; com.google.fhir.analytics.AvroConversionUtil is in unnamed module of loader 'app')
        at com.google.fhir.analytics.PipelineManager.initDwhStatus(PipelineManager.java:176)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219)
        ... 37 common frames omitted
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  51.437 s
[INFO] Finished at: 2024-08-21T13:39:54+07:00
[INFO] ------------------------------------------------------------------------

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions