Oh .. that would be hard to debug without further analysis. Essentially
Java is not seeing libraries in the classpath. The classpath is defined
_inside_ the jar file with pointers to where the gradle cache is located.

So it could be many things, maybe you did not make a first run with gradle
to download the cache, or maybe you have different users inside the
container each with their own cache directory. Another possibility is that
you mounted a volume on top of the downloaded cache.

On Feb 21, 2018 4:22 PM, "Hans Bakker" <h.bak...@antwebsystems.com> wrote:

Thanks Taher, for the extended reply.

currently I have tried the most simple one:
java -jar build/libs/ofbiz.jar

this works outside the docker image, however within the running container
it gives the error:
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/cli/ParseException
        at org.apache.ofbiz.base.start.Start.main(Start.java:60)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseEx
ception
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

perhaps you have a suggestion for me?

thanks again for your help.
Regards,
Hans


On 21/02/18 17:56, Taher Alkhateeb wrote:

> Oh I just remembered something else you might want to do. You can create a
> volume for the cache, this way you wait for the download only the first
> time you instantiate the image and subsequent container instantiations
> would not need to download anything
>
> On Feb 21, 2018 9:55 AM, "Taher Alkhateeb" <slidingfilame...@gmail.com>
> wrote:
>
> The image has to get larger, there is no way around that. Either you
> repopulate the cache or save a bigger image. OFBiz will not work without
> its libraries just like in the ant days.
>
> For me I have a big OFBiz image because I don't care about size as much as
> I do about startup time.
>
> Now your question was how to start without a rebuild. You can either:
>
> 1- in build.gradle go to the method createOfbizCommandTask and remove
> "dependsOn build"
> OR
> 2- run java -jar build/libs/ofbiz.jar
>
> On Feb 21, 2018 8:03 AM, "Hans Bakker" <h.bak...@antwebsystems.com> wrote:
>
> Good day!
>
> i am trying to create a docker image of the new ofbiz using gradle.
>
> And obviously i want a quick startup time.
>
> So i run all the gradle build tasks offline, copy the result in a docker
> image and install it in a docker environment.
>
> Then as normal run ./gradlew ofbiz  as the startup command.
>
> Then because the gradle cache is not there gradle rebuids. Copying the
> gradle cache into the docker image is no option, because it gets
> substantial bigger.
>
> How to start the system assuming the build was successful and no rebuild is
> required?
>
>
-- 

Regards,

Hans Bakker
CEO, http://antwebsystems.com

Reply via email to