You can specify the CFML engine via the command line arguments:
This will start an Adobe ColdFusion 9 server in your webroot. That's it!
By default, CommandBox uses the cfengine
slug to search for the engine on ForgeBox. The format is slug@version
where the version is optional. Ortus Solutions maintains the versions of the engines available on ForgeBox.
Supported engines are:
Adobe ColdFusion 9 **
Adobe ColdFusion 10
Adobe ColdFusion 11
Adobe ColdFusion 2016
Adobe ColdFusion 2018
Railo 4.2
Lucee 4.5
Lucee 5
Here are some examples:
Engines are downloaded and stored in your CommandBox artifacts folder. You can view your engines and clear them using the standard artifacts commands:
** Note: Adobe ColdFusion 9 does not support Java 8. To run ColdFusion 9 you must first install Java 6 or 7. Then change the CommandBox java version, by doing one of the following:
Update the OS default, defined in the
JAVA_HOME
environment variable, with the Java 6/7 JRE directoryCopy the Java 6/7 JRE folder into the CommandBox installation directory, and rename the subfolder "jre".
For example, if the new JRE is installed in
C:\Program files\java\jre7
copy it toC:\CommandBox\jre
Note: This version will take precedence over
JAVA_HOME
Restart CommandBox to apply the changes.
While Lucee asks for a password the first time running the admin, ColdFusion requires a username and password when CommandBox sets it up. The default username and password for the Adobe ColdFusion servers used are:
Username: admin
Password: commandbox
Additionally, CommandBox can start any WAR given to it using the WARPath
argument.
If you run a regular start
command inside of a folder that has a /WEB-INF/web.xml
file, CommandBox will treat that folder as a WAR.
The cfengine
parameter can accept any valid CommandBox endpoint ID. That means it can be an HTTP URL, a Git repo, a local folder path to your company's network share, or a custom ForgeBox entry you've created. As long as that endpoint resolves to a package that contains these files, you're good:
box.json
Engine.[zip|war]
(file name doesn't matter)
CommandBox will download the package, unzip it and use the WAR/zip file as the engine for your app.
Normally, the artifacts cache isn't used for non-ForgeBox packages, but CommandBox will only download the engine once per server and then assume the file hasn't changed. You will need to forget the server to trigger a new download.
Here's an example of starting up a web server using a direct download link to a package containing a WAR file:
You can set the cfengine
and other related configuration options in your server.json
to use them every time you start your app.
These commands would create the following server.json
Just a reminder that starting a server with any command line arguments will save the arguments to your server.json
by default.
This command would add adobe@9
to your server.json
. If this is not what you want, you can append saveSettings=false
or even --!saveSettings
when you start your server and CommandBox will not save the arguments you specify to your server.json
.