{"id":28839466,"url":"https://github.com/coldbox-modules/cbjavaloader","last_synced_at":"2026-02-06T19:31:35.625Z","repository":{"id":15993948,"uuid":"18737158","full_name":"coldbox-modules/cbjavaloader","owner":"coldbox-modules","description":"A module that interfaces with the JavaLoader Project","archived":false,"fork":false,"pushed_at":"2026-01-01T08:21:41.000Z","size":1070,"stargazers_count":1,"open_issues_count":4,"forks_count":8,"subscribers_count":1,"default_branch":"development","last_synced_at":"2026-01-14T12:33:28.432Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"ColdFusion","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coldbox-modules.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.YML","license":null,"code_of_conduct":".github/CODE_OF_CONDUCT.MD","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"patreon":"ortussolutions"}},"created_at":"2014-04-13T19:00:32.000Z","updated_at":"2025-08-23T11:06:33.000Z","dependencies_parsed_at":"2024-12-09T17:27:32.210Z","dependency_job_id":"472fc3a2-343a-4eda-bb44-b18d08eee9f5","html_url":"https://github.com/coldbox-modules/cbjavaloader","commit_stats":null,"previous_names":["coldbox/cbox-javaloader"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/coldbox-modules/cbjavaloader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fcbjavaloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fcbjavaloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fcbjavaloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fcbjavaloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coldbox-modules","download_url":"https://codeload.github.com/coldbox-modules/cbjavaloader/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coldbox-modules%2Fcbjavaloader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29174099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T19:28:14.811Z","status":"ssl_error","status_checked_at":"2026-02-06T19:28:13.420Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-19T14:41:24.980Z","updated_at":"2026-02-06T19:31:35.595Z","avatar_url":"https://github.com/coldbox-modules.png","language":"ColdFusion","funding_links":["https://patreon.com/ortussolutions"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://www.ortussolutions.com/__media/coldbox-185-logo.png\"\u003e\n\t\u003cbr\u003e\n\t\u003cimg src=\"https://www.ortussolutions.com/__media/wirebox-185.png\" height=\"125\"\u003e\n\t\u003cimg src=\"https://www.ortussolutions.com/__media/cachebox-185.png\" height=\"125\" \u003e\n\t\u003cimg src=\"https://www.ortussolutions.com/__media/logbox-185.png\"  height=\"125\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\tCopyright Since 2005 ColdBox Platform by Luis Majano and Ortus Solutions, Corp\n\t\u003cbr\u003e\n\t\u003ca href=\"https://www.coldbox.org\"\u003ewww.coldbox.org\u003c/a\u003e |\n\t\u003ca href=\"https://www.ortussolutions.com\"\u003ewww.ortussolutions.com\u003c/a\u003e\n\u003c/p\u003e\n\n----\n\n# Welcome to the cbJavaloader Project\n\n\u003ca href=\"https://github.com/coldbox-modules/cbjavaloader/actions/workflows/ci.yml\"\u003e\n\t\u003cimg src=\"https://github.com/coldbox-modules/cbjavaloader/actions/workflows/ci.yml/badge.svg\"\u003e\n\u003c/a\u003e\n\nThis module will allow your ColdBox applications to class load different Java classes and libraries at runtime via the JavaLoader project.  It also registers a WireBox DSL so you can easily inject Java classes into your objects using WireBox.\n\n## License\n\nApache License, Version 2.0.\n\n## Important Links\n\n- Repository: https://github.com/coldbox-modules/cbjavaloader\n- ForgeBox: https://forgebox.io/view/cbjavaloader\n- Docs: https://github.com/Ortus-Solutions/JavaLoader\n- [Changelog](changelog.md)\n\n## System Requirements\n\n- BoxLang 1+\n- Lucee 5+\n- ColdFusion 2021+\n\n## Instructions\n\nJust drop into your **modules** folder or use the box-cli to install\n\n`box install cbjavaloader`\n\nThe module has a default folder called `lib` where any jars you drop there will be class loaded automatically.  However, we recommend using the `loadpaths` setting for selecting an array of locations to class load, so when the module updates you won't lose those files.\n\n## Models\n\nThe module registers the following mapping in WireBox: `loader@cbjavaloader`. Which is the class you will use to class load, append paths and much more.  Check out the included API Docs for much more information.  The main methods of importance of the java loader are:\n\n- `create( class )` - Create a loaded Java class\n- `appendPath( dirPath, filter)` - Appends a directory path of *.jar's,*.classes to the current loaded class loader.\n- `getLoadedURLs()` - Get all the loaded URLs\n\n## WireBox DSL\n\nThe module also registers a new WireBox DSL called `javaloader`.  You can then use this custom DSL for injecting direct java class loaded classes very easily:\n\n```js\nproperty name=\"name\"  inject=\"javaloader:{class-path}\";\nproperty name=\"hello\" inject=\"javaloader:HelloWorld\";\nproperty name=\"buffer\" inject=\"javaloader:org.class.path.StringBuffer\";\n```\n\n## Settings\n\nHere are the module settings you can place in your `ColdBox.cfc` under an `moduleSettings.cbJavaLoader` structure:\n\n```js\n\nmoduleSettings = {\n\tcbJavaLoader = {\n\t\t// A single path, and array of paths or a single Jar\n\t\tloadPaths = [],\n\t\t// Load ColdFusion classes with loader\n\t\tloadColdFusionClassPath = false,\n\t\t// Attach a custom class loader as a parent\n\t\tparentClassLoader = \"\",\n\t\t// Directories that contain Java source code that are to be dynamically compiled\n\t\tsourceDirectories = [],\n\t\t// the directory to build the .jar file for dynamic compilation in, defaults to ./tmp\n\t\tcompileDirectory = \"models/javaloader/tmp\",\n\t\t// Whether or not the source is trusted, i.e. it is going to change? Defaults to false, so changes will be recompiled and loaded\n\t\ttrustedSource = false\n\t}\n};\n\n```\n\nBelow is a simple example:\n\n```js\n/**\n* My Event Handler Hint\n*/\ncomponent{\n\t// Inject JavaLoader\n\tproperty name=\"javaloader\" inject=\"loader@cbjavaloader\";\n\n\t// Index\n\tany function index( event,rc, prc ){\n\t\t// creat a java class\n\t\tprc.hello = javaloader.create( \"HelloWorld\" ).init().hello();\n\t}\n\n\t// Run on first init\n\tany function onAppInit( event, rc, prc ){\n\t\t// on application start, load up more jars\n\t\tjavaloader.appendPaths( getSetting( \"ApplicationPath\" ) \u0026 \"jars\" );\n\t}\n\n}\n```\n\n---\n\n********************************************************************************\nCopyright Since 2005 ColdBox Framework by Luis Majano and Ortus Solutions, Corp\nwww.ortussolutions.com\n********************************************************************************\n\n### HONOR GOES TO GOD ABOVE ALL\n\nBecause of His grace, this project exists. If you don't like this, then don't read it, its not for you.\n\n\u003e\"Therefore being justified by faith, we have peace with God through our Lord Jesus Christ:\nBy whom also we have access by faith into this grace wherein we stand, and rejoice in hope of the glory of God.\nAnd not only so, but we glory in tribulations also: knowing that tribulation worketh patience;\nAnd patience, experience; and experience, hope:\nAnd hope maketh not ashamed; because the love of God is shed abroad in our hearts by the\nHoly Ghost which is given unto us. .\" Romans 5:5\n\n### THE DAILY BREAD\n\n \u003e \"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)\" Jn 14:1-12\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoldbox-modules%2Fcbjavaloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoldbox-modules%2Fcbjavaloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoldbox-modules%2Fcbjavaloader/lists"}