以下のdozerの例を実行しようとしています。私のxmlファイルは私のjavaファイルと同じ場所に位置していますが、私はそれが働いている完全なファイルパスを与えるかどうかは、ファイルが見つからない例外Dozerファイルが見つかりません例外
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)
を取得していますが、私は以下の例外
を取得しています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)
ソースコード
String file = "C:/UnitTest/Dozer/src/com/mapping/mapping.xml";
DozerBeanMapper mapper = new DozerBeanMapper(Arrays.asList(new String[]{file}));
私はこれを試してみましたが、上記の例外を取得しています – Rafi
file:// URLを使用すると、 "unknown protocol:c"エラーが発生するのは本当に疑問です。 –
バックスラッシュの代わりにスラッシュを少し修正して機能しました。 \t \t文字列ファイル= "ファイル:\\ C:\\ temp \\ mapping.xml"; \t \t DozerBeanMapperマッパー=新しいDozerBeanMapper(Arrays.asList(new String [] {file})); \t \t TargetEmployee destObject = mapper.map(sourceEmp、TargetEmployee.class); – Rafi