I took notice that the Lucee 5 build process itself uses the JSR 223 scripting engine to generate lar files.
I am interested in using the same thing to package my cfm resources into .lar files for final distribution. So far I’ve been having problems getting it to actually run.
Here’s what I have so far:
pom.xml
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>compile</phase>
<goals><goal>run</goal></goals>
<configuration>
<target>
<property name="plugin_classpath" refid="maven.plugin.classpath" />
<property name="runtime_classpath" refid="maven.runtime.classpath"/>
<java classname="org.apache.tools.ant.launch.Launcher" dir="." fork="true" failonerror="false">
<classpath path="${java.class.path}">
<pathelement path="${plugin_classpath}" />
<pathelement path="${runtime_classpath}"/>
</classpath>
<arg value="-f" />
<arg value="src/build/compile-lars.xml" />
<jvmarg value="-Dlucee.base.dir=build/tmp/"/>
</java>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.9.5</version>
</dependency>
</dependencies>
</plugin>
src/build/compile-lars.xml
<project default="run">
<target name="run">
<script language="CFML">
echo("cfml script in a build!!! woohoo!!!");
</script>
</target>
</project>
build output:
main:
[java] Buildfile: C:\Users\jesse.shaffer\git\app\src\build\compile-lars.xml
[java]
[java] run:
[java] [script] root-directory:build\tmp
[java] [script] classic-root-directory:C:\Users\jesse.shaffer\.m2\repository\org\lucee\lucee\5.0.0.98-SNAPSHOT
[java] [script] ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider lucee.runtime.script.LuceeScriptEngineFactory could not
be instantiated
[java] [script] org.osgi.framework.BundleException: Error creating bundle cache.
[java] [script] at org.apache.felix.framework.Felix.init(Felix.java:645)
[java] [script] at org.apache.felix.framework.Felix.start(Felix.java:893)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.getFelix(CFMLEngineFactory.java:432)
[java] [script] at lucee.loader.osgi.BundleLoader.loadBundles(BundleLoader.java:169)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.getCore(CFMLEngineFactory.java:465)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:296)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:253)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:149)
[java] [script] at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:61)
[java] [script] at lucee.runtime.script.CFMLScriptEngineFactory.<init>(CFMLScriptEngineFactory.java:27)
[java] [script] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[java] [script] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[java] [script] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[java] [script] at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
[java] [script] at java.lang.Class.newInstance(Class.java:438)
[java] [script] at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
[java] [script] at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
[java] [script] at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
[java] [script] at javax.script.ScriptEngineManager.initEngines(ScriptEngineManager.java:122)
[java] [script] at javax.script.ScriptEngineManager.init(ScriptEngineManager.java:84)
[java] [script] at javax.script.ScriptEngineManager.<init>(ScriptEngineManager.java:61)
[java] [script] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[java] [script] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[java] [script] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[java] [script] at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
[java] [script] at org.apache.tools.ant.util.ReflectWrapper.<init>(ReflectWrapper.java:42)
[java] [script] at org.apache.tools.ant.util.optional.JavaxScriptRunner.createEngine(JavaxScriptRunner.java:133)
[java] [script] at org.apache.tools.ant.util.optional.JavaxScriptRunner.evaluateScript(JavaxScriptRunner.java:82)
[java] [script] at org.apache.tools.ant.util.optional.JavaxScriptRunner.executeScript(JavaxScriptRunner.java:67)
[java] [script] at org.apache.tools.ant.taskdefs.optional.Script.execute(Script.java:53)
[java] [script] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
[java] [script] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] [script] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[java] [script] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] [script] at java.lang.reflect.Method.invoke(Method.java:483)
[java] [script] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[java] [script] at org.apache.tools.ant.Task.perform(Task.java:348)
[java] [script] at org.apache.tools.ant.Target.execute(Target.java:435)
[java] [script] at org.apache.tools.ant.Target.performTasks(Target.java:456)
[java] [script] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
[java] [script] at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
[java] [script] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[java] [script] at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
[java] [script] at org.apache.tools.ant.Main.runBuild(Main.java:853)
[java] [script] at org.apache.tools.ant.Main.startAnt(Main.java:235)
[java] [script] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285)
[java] [script] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)
[java] [script] Caused by: java.lang.Exception: Unable to lock bundle cache: java.nio.channels.OverlappingFileLockException
[java] [script] at org.apache.felix.framework.cache.BundleCache.<init>(BundleCache.java:176)
[java] [script] at org.apache.felix.framework.Felix.init(Felix.java:640)
[java] [script] ... 46 more
[java] [script] javax.servlet.ServletException: org.osgi.framework.BundleException: Error creating bundle cache.
[java] [script] at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:331)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.initEngineIfNecessary(CFMLEngineFactory.java:253)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:149)
[java] [script] at lucee.runtime.script.BaseScriptEngineFactory.<init>(BaseScriptEngineFactory.java:61)
[java] [script] at lucee.runtime.script.CFMLScriptEngineFactory.<init>(CFMLScriptEngineFactory.java:27)
[java] [script] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[java] [script] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[java] [script] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[java] [script] at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
[java] [script] at java.lang.Class.newInstance(Class.java:438)
[java] [script] at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
[java] [script] at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
[java] [script] at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
[java] [script] at javax.script.ScriptEngineManager.initEngines(ScriptEngineManager.java:122)
[java] [script] at javax.script.ScriptEngineManager.init(ScriptEngineManager.java:84)
[java] [script] at javax.script.ScriptEngineManager.<init>(ScriptEngineManager.java:61)
[java] [script] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[java] [script] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[java] [script] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[java] [script] at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
[java] [script] at org.apache.tools.ant.util.ReflectWrapper.<init>(ReflectWrapper.java:42)
[java] [script] at org.apache.tools.ant.util.optional.JavaxScriptRunner.createEngine(JavaxScriptRunner.java:133)
[java] [script] at org.apache.tools.ant.util.optional.JavaxScriptRunner.evaluateScript(JavaxScriptRunner.java:82)
[java] [script] at org.apache.tools.ant.util.optional.JavaxScriptRunner.executeScript(JavaxScriptRunner.java:67)
[java] [script] at org.apache.tools.ant.taskdefs.optional.Script.execute(Script.java:53)
[java] [script] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
[java] [script] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] [script] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[java] [script] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] [script] at java.lang.reflect.Method.invoke(Method.java:483)
[java] [script] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[java] [script] at org.apache.tools.ant.Task.perform(Task.java:348)
[java] [script] at org.apache.tools.ant.Target.execute(Target.java:435)
[java] [script] at org.apache.tools.ant.Target.performTasks(Target.java:456)
[java] [script] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
[java] [script] at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
[java] [script] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[java] [script] at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
[java] [script] at org.apache.tools.ant.Main.runBuild(Main.java:853)
[java] [script] at org.apache.tools.ant.Main.startAnt(Main.java:235)
[java] [script] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285)
[java]
[java] BUILD FAILED [script] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)
[java]
[java] [script] Caused by: org.osgi.framework.BundleException: Error creating bundle cache.
[java] [script] at org.apache.felix.framework.Felix.init(Felix.java:645)C:\Users\jesse.shaffer\git\app\src\build\compile-lars.xml:3
: Unable to create javax script engine for CFML
[java]
[java]
[java] Total time: 2 seconds
[java] [script] at org.apache.felix.framework.Felix.start(Felix.java:893)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.getFelix(CFMLEngineFactory.java:432)
[java] [script] at lucee.loader.osgi.BundleLoader.loadBundles(BundleLoader.java:169)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.getCore(CFMLEngineFactory.java:465)
[java] [script] at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:296)
[java] [script] ... 41 more
[java] [script] Caused by: java.lang.Exception: Unable to lock bundle cache: java.nio.channels.OverlappingFileLockException
[java] [script] at org.apache.felix.framework.cache.BundleCache.<init>(BundleCache.java:176)
[java] [script] at org.apache.felix.framework.Felix.init(Felix.java:640)
[java] [script] ... 46 more
[java] [script] ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider lucee.runtime.script.CFMLScriptEngineFactory could not
be instantiated
[java] Java Result: 1
Any idea what may be causing this?