Could not find exception

I am trying to follow below bulldozer example. my xml file is in the same place as my java file, but I get an exception not found in the file

Exception in thread "main" org.dozer.MappingException: Unable to locate dozer mapping file [dozerMapping.xml] in the classpath! at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:87) at org.dozer.util.MappingValidator.validateURL(MappingValidator.java:63) at org.dozer.loader.CustomMappingsLoader.loadFromFiles(CustomMappingsLoader.java:101) at org.dozer.loader.CustomMappingsLoader.load(CustomMappingsLoader.java:56) at org.dozer.DozerBeanMapper.loadCustomMappings(DozerBeanMapper.java:213) at org.dozer.DozerBeanMapper.getMappingProcessor(DozerBeanMapper.java:186) at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:111) at com.mapping.CopyAttributes.main(CopyAttributes.java:28) 

If I give the full path to the file, it works, but I get an exception below

 Exception in thread "main" org.dozer.MappingException: java.net.MalformedURLException: unknown protocol: c at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:82) at org.dozer.util.ResourceLoader.getResource(ResourceLoader.java:57) at org.dozer.util.DefaultClassLoader.loadResource(DefaultClassLoader.java:44) at org.dozer.util.MappingValidator.validateURL(MappingValidator.java:61) at org.dozer.loader.CustomMappingsLoader.loadFromFiles(CustomMappingsLoader.java:101) at org.dozer.loader.CustomMappingsLoader.load(CustomMappingsLoader.java:56) at org.dozer.DozerBeanMapper.loadCustomMappings(DozerBeanMapper.java:213) at org.dozer.DozerBeanMapper.getMappingProcessor(DozerBeanMapper.java:186) at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:111) at com.mapping.CopyAttributes.main(CopyAttributes.java:28) Caused by: java.net.MalformedURLException: unknown protocol: c at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at java.net.URL.<init>(Unknown Source) at org.dozer.util.ResourceLoader.getResource(ResourceLoader.java:55) 

source

  String file = "C:/UnitTest/Dozer/src/com/mapping/mapping.xml"; DozerBeanMapper mapper = new DozerBeanMapper(Arrays.asList(new String[]{file})); 
+4
source share
2 answers

Ok I solved it.

I placed the file in resources/META-INF/dozerBeanMapping.xml and accessed the file with:

 String file = "META-INF/dozerBeanMapping.xml"; DozerBeanMapper mapper = new DozerBeanMapper(Arrays.asList(new String[]{file})); 

Hope this helps you guys too.

+6
source

You are using String file = "C:/..." and this error mentions that it does not recognize C as a valid protocol.

Instead, you should try using file://C:/... - this may help. If this is not the case, try using a double backslash ( C:\\UnitTest\\... ), and if that doesn't work, just upload the file somewhere

0
source

Source: https://habr.com/ru/post/1384430/


All Articles