Lucee cfcclasses explanation

I have a running website and inside WEB-INF > lucee there is a folder called cfcclasses . In it, I got something like this:

Screenshot_1

What for is this? How is it generated and is it required? As you can see I also got bellow 3 more folders with some context and library. I have no idea why this folder contains contact_us when it is no longer used.

Don’t forget to tell us about your stack!

OS: Windows 10

Hi

Some information is here:

And here:

In any case, I would like to tell you that you shouldn’t deal with that folder: it contains the bytecode compiled directly by Lucee.

HTH

2 Likes

It may help to hear a bit more also. First, that article is written more for the perspective of how one can CHOOSE to precompile code for deployment, which is an interesting but rather infrequent need for most folks.

Still it explains also (in passing) how cfml is AUTOMATICALLY compiled into Java, and stored in such a cfclasses folder, then run from there. And FWIW, all that’s true in Adobe CF as well as Lucee, including the option to precompile code.

But finally to your wondering how you show there folders that “no longer exist” in the cfml source for your site, that’s a reflection of how this automatic compilation process happens when a cfml page request is made and saved. There’s no mechanism to keep things in sync, such that if you remove the cfml source file/folder, nothing causes these representations of it in cfclasses to be removed. (This is true also of CF’s cfclasses folder–though Adobe doesn’t show the folder names like Lucee does, so this issue is less apparent.)

You can remove the “unexpected” folder and files if you want. Indeed, if you remove any whose cfml source DOES still exist, then the corresponding .class file/s for each template will be created again in cfclasses if when that cfml code is ever executed.

Hope that helps, also. :slight_smile:

4 Likes

Thanks everyone. I have a better understanding now. Sorry for a rather slow reply.

2 Likes