khmarbaise
khmarbaise

Reputation: 97507

java.lang.ClassCastException: class ... is in unnamed module of loader 'app' - spring-boot-dev-tools

We have a larger Spring boot application which causes the following exeception:

    java.lang.ClassCastException: class jpa.XVersion cannot be cast to class jpa.XVersion (jpa.XVersion is in unnamed module of loader 'app'; jpa.XVersion is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @671ef14f)
    at y.package.abc(XService.java:70)
    at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

while starting from within IDEA IntelliJ in relationship with JPA classes.

The application works fine while starting from plain command line.

After we have removed the dependency

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <optional>true</optional>
</dependency>

The execution from within the IDE works fine without any issues.

We are using:

Does someone has already observed that kind of issue? Does exist a different solution then removing the dependency?

Upvotes: 6

Views: 36249

Answers (4)

OnlyWick
OnlyWick

Reputation: 474

If you are using MyBatis like me, you may need to check if the resultMap or resultType in xxx-mapper.xml is compatible with your target type.

This solution works for me. :-)

Upvotes: 0

SREELEKSHMI G
SREELEKSHMI G

Reputation: 1

I had the same issue and after invalidating the cache and restart, it worked for me.

Upvotes: 0

Rama Adaikkalam
Rama Adaikkalam

Reputation: 743

Disable the spring dev tools restart

You can disable the restart feature using the spring.devtools.restart.enabled property set to false. In most cases you can set this in your application.properties (this will still initialize the restart classloader but it won’t watch for file changes).

If you need to completely disable restart support, for example, because it doesn’t work with a specific library, you need to set a System property before calling SpringApplication.run(…​).

For example:

 public static void main(final String[] args) {
    System.setProperty("spring.devtools.restart.enabled", "false");
    SpringApplication.run(Application.class, args);
}

Reference spring docs

Upvotes: 2

vijay
vijay

Reputation: 17

I removed the dependency below and it worked.

org.springframework.boot spring-boot-devtools runtime true

Upvotes: 0

Related Questions