Blog

Easily Inject Java into Your ColdBox App

Scott Coldwell February 18, 2015

Spread the word

Scott Coldwell

February 18, 2015

Spread the word


Share your thoughts

If you've ever worked with jars or raw java in ColdFusion, you will love the JavaLoader module for ColdBox. The JavaLoader module will interface with Mark Mandel's JavaLoader to allow you to do a network class loader, compiler and proxy. You can keep jars with your application's code instead of putting them in ColdFusion classpath, and you can even dynamically compile java code to use in your app.

To get started, simply install the module using CommandBox:

box install cbjavaloader

 

The module registers a new WireBox DSL called javaloader. You can then use this custom DSL for injecting direct java class loaded classes very easily:

property name="name"  inject="javaloader:{class-path}";
property name="hello" inject="javaloader:HelloWorld";
property name="buffer" inject="javaloader:org.class.path.StringBuffer";

 

With some basic configuration in your Coldbox.cfc, you can load jars or compile java:

// JavaLoader settings
javaloader = {
    // The array paths to load
    loadPaths = getJars( getDirectoryFromPath( getCurrentTemplatePath() ) & "lib" ),
    // Load ColdFusion classes with loader
    loadColdFusionClassPath = false,
    // Attach a custom class loader as a parent
    parentClassLoader = "",
    // Directories that contain Java source code that are to be dynamically compiled
    sourceDirectories = [],
    // the directory to build the .jar file for dynamic compilation in, defaults to ./tmp
    compileDirectory = getDirectoryFromPath( getCurrentTemplatePath() ) & "model/javaloader/tmp",
    // Whether or not the source is trusted, i.e. it is going to change? Defaults to false, so changes will be recompiled and loaded
    trustedSource = false
};

Happy Java-ing!

 

Add Your Comment

Recent Entries

Ortus Monthly Free Webinar – June Edition! 💥

Ortus Monthly Free Webinar – June Edition! 💥

Join us for the June edition of our Ortus Monthly Free Webinar Series, where we explore the power of serverless development using BoxLang and AWS Lambda. Led by Luis Majano, the creator of BoxLang and CEO of Ortus Solutions.

Date: June 18th, 2025 - 11:00 AM (CDT)

  • Location: Online
  • Speaker: Luis Majano

Maria Jose Herrera
Maria Jose Herrera
May 16, 2025
CFCasts, Elevated Experience, Discover What’s New! 🚀

CFCasts, Elevated Experience, Discover What’s New! 🚀

We’re beyond thrilled to unveil the completely redesigned CFCasts platform — a fresh new look, a smarter learning experience, and powerful new features that will take your web development journey to the next level.

Maria Jose Herrera
Maria Jose Herrera
May 15, 2025
Into the Box 2025 – Keynote Day 1 Recap

Into the Box 2025 – Keynote Day 1 Recap

Into the Box 2025 kicked off in the best way possible with an exciting keynote from Luis Majano, CEO of Ortus Solutions. He welcomed everyone to the 14th edition of the conference and shared some exciting news: BoxLang 1.0 is officially here!

Maria Jose Herrera
Maria Jose Herrera
May 14, 2025