Which docker image to use for Java projects based on Maven?

Which theiaide/theia-java docker image can I use to test a standard theia? I tried version ‘next’ -> is corrupted when switching the workspace, version ‘latest’ -> does not recognize my java project (I used Maven).

I got the version 'theiaide/theia-full:latest" running.

The theiaide/theia-full version recognizes my Java project but my external dependencies are not found. What should I do?

Maven is also not in the path. Is it not installed?

[original thread by UdoW]

[Sun Seng David TAN]

I would say this is a typical case you may consider having a look at Che-Theia and Che7 where it runs Java VSCode extension in a Side car container (with all the dependencies) available to a Theia IDE magically.

@UdoW thanks for reporting, please file issue, we need to maintain them better for open source community cc @svenefftinge @marc-dumais

@udow FYI we have a PR under review to add Maven to the Java and full images: https://github.com/theia-ide/theia-apps/pull/148

[UdoW]

And what about Gradle support?

@udow It’s covered by the same PR.

@udow I encourage you to open issues in the theia-ide/theia-apps repo to report the issues you found with the images.

[UdoW]

I opened some issues

[UdoW]

I built the docker image from your pull request and now the Maven command is available and also the classes are found in the classpath.

One question is: I use maven dependencies from my own intranet maven repository and I am behind a network proxy. Where do I tell Theia to use my proxy and where to say which domain names should be ignored by the proxy? I could get the maven dependencies only to be found after I manually built my project with the terminal an my settings.xml file to set the proxy.

[UdoW]

same problem with Gradle: Initially the classpath is not resolved.

Hi @udow ,

I am not sure if this is a Theia or a docker/ubuntu question. I guess you have setup docker on your host to use the proxy, or else you might have had difficulty to build the theia-java image.

From what I observe, setting-up the proxy for docker on the host, is the only proxy setting I need, behind my own corporate proxy, so that Theia images can run and use resources from the internet. I assume docker does some magic to make that happen…

So maybe try to set your Maven server or internal domain(s) as an exclusions, as part of your host docker proxy config? On my Ubuntu 16.04 laptop, I did it I think in /etc/docker/daemon.json.

something in the form:

export http_proxy=“http://:”
export https_proxy=“http://:”
export no_proxy=", , "

… and restart your docker service

You may need to try different things…