Skip to content

Grails 3.1 Defining a classpath resouce in watchedResources causes StringIndexOutOfBoundsException exception #9610

@jameskleeh

Description

@jameskleeh

Example config:

    def watchedResources = ["file:./src/bpm/**/*.bpmn",
                            "classpath:*.bpmn*.xml",
                            "classpath:*.bpmn",
                            "file:./src/bpm/**/*.bpmn*.xml",
                            "file:./src/bpm/**/*.png",
                            "file:./src/taskforms/**/*.form"]

It originally was "classpath*:*.bpmn" and I tried the above with the same result

Exception occurs here: https://github.com/grails/grails-core/blob/51014578ecb64837cc82853ab96ae6e4545edf3c/grails-core/src/main/groovy/grails/boot/GrailsApp.groovy#L171

wp.directory.path is resolving to "classpath:" and the code expects it to be an absolute path.

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -48
    at java.lang.String.substring(String.java:1931)
    at java_lang_String$substring$5.call(Unknown Source)
    at grails.boot.GrailsApp.enableDevelopmentModeWatch(GrailsApp.groovy:171)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:64)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:353)
    at grails.boot.GrailsApp.run(GrailsApp.groovy:342)
    at grails.boot.GrailsApp$run.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
    at test.plugins.Application.main(Application.groovy:9)

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions