The resource is in the jar as shown here:
http://cl.ly/6LaO
It works from my unit tests, which aren't using the cached jar file as
I look at the File path for the resource and it isn't pointing at the
jar file.
I even tried this code as I thought that perhaps I needed a "/" in
front of the resource to access it in a jar:
URL exportTemplate = ClassLoader.getSystemResource("/export.template")
if (!exportTemplate){
exportTemplate = ClassLoader.getSystemResource("export.template")
}
assert exportTemplate : "[export.template] resource not found"
On Fri, Apr 29, 2011 at 12:46 PM, Ronen Narkis <[email protected]> wrote:
> Is your template file under: src/main/resources/ ?
>
> Here the code im using (its working):
>
> URL url = ClassLoader.getSystemResource('LiquibaseApi.java')
> new File(url.file)
>
> Are you failing to get it during tests or during the actual plugin run?
>
> Also, how do you update the jar under the cache folder? maybe its a stale
> version?
>
> Ronen
>
> On Fri, Apr 29, 2011 at 9:38 PM, phil swenson <[email protected]>
> wrote:
>>
>> This code is cleaner, but I end up having the same problem... if I
>> access a resource inside a jar as a File, I get a
>> FileNotFoundException... works if it's just in gradle's resource
>> directory of course - but I need it to load the resource from a jar
>> too.
>>
>> On Fri, Apr 29, 2011 at 12:26 PM, Ronen Narkis <[email protected]> wrote:
>> > If you want the file then just:
>> >
>> > ClassLoader.getSystemResource('someFile.gsp').file
>> >
>> > On Fri, Apr 29, 2011 at 9:25 PM, Ronen Narkis <[email protected]> wrote:
>> >>
>> >> Iv had the same "pleasure" in going through all the options of loading
>> >> a
>> >> file from the classpath, iv found that using:
>> >>
>> >> ClassLoader.getSystemResource('someFile.gsp')
>> >>
>> >> Works
>> >> Ronen
>> >>
>> >> On Fri, Apr 29, 2011 at 9:15 PM, phil swenson <[email protected]>
>> >> wrote:
>> >>>
>> >>> I just tried to switch over to referencing template files in my gradle
>> >>> project as resources. I put my "export.template" file in the
>> >>> resources directory. So my built jar file now has a path like:
>> >>>
>> >>>
>> >>> .gradle/cache/com.softwareag.bas/bas-plugins-localization/jars/bas-plugins-localization-1.0.0-SNAPSHOT.jar!/export.template
>> >>>
>> >>> I then try to access the resource like so:
>> >>>
>> >>> URL url = getClass().getClassLoader().getResource("export.template")
>> >>> def exportTemplateFile = new File(url.getFile())
>> >>>
>> >>> if I call file.exists() on this, I get a file doesn't exist error
>> >>>
>> >>> So I gather you just can't access resources in a jar file as a file.
>> >>> If I could just get the resource as a string, I'd be good. Any
>> >>> suggestions on being able to pull a resource to a string?
>> >>>
>> >>> thanks
>> >>> phil
>> >>>
>> >>> ---------------------------------------------------------------------
>> >>> To unsubscribe from this list, please visit:
>> >>>
>> >>> http://xircles.codehaus.org/manage_email
>> >>>
>> >>>
>> >>
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>> http://xircles.codehaus.org/manage_email
>>
>>
>
>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email