Skip to content

Caused by: java.lang.NoSuchMethodException #1

@sergey-morenets

Description

@sergey-morenets

Hi

We tried to use together Java Records (Java 21) and ModelMapper (3.1.1) and added this dependency to our project.
However the conversion still fails.

Here's source code:

public class Starter {

	public static void main(String[] args) {
		ModelMapper modelMapper = new ModelMapper();
		modelMapper.registerModule(new RecordModule());
		MyClass obj = new MyClass();
		MyRecord record = modelMapper.map(obj, MyRecord.class);

	}
	
	public static record MyRecord(int i) {}
	
	public static class MyClass {
		public int i;
	}

}

Here's exception:

Exception in thread "main" org.modelmapper.MappingException: ModelMapper mapping errors:

1) Failed to instantiate instance of destination com.example.demo.Starter$MyRecord. Ensure that com.example.demo.Starter$MyRecord has a non-private no-argument constructor.

1 error
	at org.modelmapper.internal.Errors.throwMappingExceptionIfErrorsExist(Errors.java:386)
	at org.modelmapper.internal.MappingEngineImpl.map(MappingEngineImpl.java:80)
	at org.modelmapper.ModelMapper.mapInternal(ModelMapper.java:589)
	at org.modelmapper.ModelMapper.map(ModelMapper.java:422)
	at com.example.demo.Starter.main(Starter.java:14)
Caused by: java.lang.NoSuchMethodException: com.example.demo.Starter$MyRecord.<init>()
	at java.base/java.lang.Class.getConstructor0(Class.java:3761)
	at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2930)
	at org.modelmapper.internal.MappingEngineImpl.instantiate(MappingEngineImpl.java:336)
	at org.modelmapper.internal.MappingEngineImpl.createDestination(MappingEngineImpl.java:351)
	at org.modelmapper.internal.MappingEngineImpl.typeMap(MappingEngineImpl.java:140)
	at org.modelmapper.internal.MappingEngineImpl.map(MappingEngineImpl.java:114)
	at org.modelmapper.internal.MappingEngineImpl.map(MappingEngineImpl.java:71)
	... 3 more

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