groovy.lang.GroovyRuntimeException:找不到以下匹配的构造函数:java.io.File(File)

时间:2020-08-18 04:43:35

标签: file groovy constructor

我已经和Groovy和Grails一起工作了几个星期。

我只是遇到任何文件创建命令的问题,如下所示:

void validate(FileToValidate) {
        try {
            DefaultImmutableModuleIdentifierFactory moduleIdentifierFactory = new DefaultImmutableModuleIdentifierFactory()
            def moduleDescriptorConverter = new IvyModuleDescriptorConverter(moduleIdentifierFactory)
            def metadataFactory = new IvyMutableModuleMetadataFactory(moduleIdentifierFactory,null)
            def repository = new DefaultExternalResourceRepository("repo", null, null, null, null, null,null)
            def files =  new java.io.File(FileToValidate)
            URI uri = files.toURI()
            def name = new ExternalResourceName(uri)
            def parser = new IvyXmlModuleDescriptorParser(moduleDescriptorConverter, moduleIdentifierFactory,repository.resource(name ,true), metadataFactory)
            DescriptorParseContext ivySettings = null //new DisconnectedDescriptorParseContext();
            parser.parseMetaData(ivySettings, FileToValidate, true);

        } catch (MetaDataParseException e) {
            throw new GradleException("Invalid ivy descriptor file $FileToValidate", e);
        }
    }


我遇到以下错误:

Caused by: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: java.io.File(File)

1 个答案:

答案 0 :(得分:0)

您正在将File传递到void validate(FileToValidate) {

然后尝试在此处创建新文件

            def files =  new java.io.File(FileToValidate)

您不需要这样做...只需使用FileToValidate

作为旁注,建议对变量和参数使用小写的首字母,以免造成混淆,因此

void validate(fileToValidate) {