我是MapStruct的新手,我目前正在进行POC。我可以看到public DCGSGenerator(String sftpHost, String sftpUser, String sftpPassword, String sftpKeyfile, int sftpPort, String sftpPath) {
super();
try {
this.sftpPath = sftpPath;
if (sftpKeyfile != null) {
sftp = sftpInitKeyfile(sftpHost, sftpUser, sftpKeyfile, sftpPort);
} else {
LOGGER.error("Must specify either sftp keyfile");
throw new RuntimeException();
}
} catch (JSchException e) {
LOGGER.error("Error initializing sftp connection: {}", e.getMessage());
throw new RuntimeException(e);
} catch (IOException e) {
LOGGER.error("Error reading keyfile {}: {}", sftpKeyfile, e.getMessage());
throw new RuntimeException(e);
}
}
}
能够从接口为一般方法生成实现类
[TestMethod]
public void TestConditionallyCreateDirectory()
{
string testDirName = "C:\\testDir";
RoboReporterConstsAndUtils.ConditionallyCreateDirectory(testDirName);
bool dirCreated = System.IO.Directory.Exists(testDirName);
Assert.IsTrue(dirCreated);
}
但是当我使用项目特定的类时,它给出了MapStruct
我使用的接口只有一种方法。该界面使用Set<String> integerSetToStringSet(Set<Integer> integers);
进行注释,但该方法简单<InterfaceName>impl is not abstract and does not override the abstract method <customMethod>.
映射,无需@Mapper
注释。
如前所述,如果我提出一般方法,一切正常,但不适用于项目特定类。
有人能就这个问题给我一些指示吗?