Dynamic Java Class Loading with ColdFusion
Updated on December 06, 2023
By Pete Freitag
By Pete Freitag
Doug Hughes has posted a very clever technique for allowing you to run Java classes without adding them to your classpath. This means that people who build ColdFusion apps that include java classes can make them super easy to install.
Dynamic Java Class Loading with ColdFusion was first published on August 18, 2005.
If you like reading about java, coldfusion, or classpath then you might also like:
- Spring4Shell and ColdFusion
- Log4j CVE-2021-44228 Log4Shell Vulnerability on ColdFusion / Lucee
- URL Safe Base64 Encoding / Decoding in CFML
- Updating Java on ColdFusion or Lucee
The Fixinator Code Security Scanner for ColdFusion & CFML is an easy to use security tool that every CF developer can use. It can also easily integrate into CI for automatic scanning on every commit.
Try Fixinator
CFBreak
The weekly newsletter for the CFML Community
Comments
It's at least as simple (I'd say simpler) to include the compiled classes on the filesystem in the same directory as your CF files, and use a URLClassLoader to load them. Still no need for access to the classpath, it's just as easy to install the app, and no messing with having to encode your classes and all that rot (which makes building a lot easier).
by Barney on 08/18/2005 at 8:38:41 PM UTC
Barney, I don't disagree with you at all. But, consider my business: selling easy-to-use-but-still-somehow-powerful components to developers of all skill levels. I know, without a doubt, that you and Pete could easily handle moving some class files arround. I can't say that for everyone else. (I speak from experiance.) Besides, there's the "how'd they do that?!?" effect. Oh, and if you implement all your code in Java, but create a CF facade and imbed your java classes inside that CFC, you can prevent decompiling... sorta. :)
Anyhow, I'm not saying we should use it. I'm just saying it works.
Doug
Anyhow, I'm not saying we should use it. I'm just saying it works.
Doug
by Doug Hughes on 08/20/2005 at 8:01:46 PM UTC