-
Notifications
You must be signed in to change notification settings - Fork 783
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compile error for javafx on alpine docker #12717
Comments
On second thought, is that a java 11 / java 8 discrepency? |
52 - java 8 Xmage uses JavaFX 11 — it’s compatible with java 8. I’m testing it with diff versions of OpenJDK (adoptium: https://adoptium.net/ ). Maybe your system has another default java (not 8). Try check your JAVA_HOME and maven’s java version from here: https://stackoverflow.com/a/65290634 |
I think I'm setup properly: I compile and bundle with the following docker file:
(Then I extract the mage-bundle.jar and use it in another docker) My current workaround is to remove everything about the what's new button. Since everything else is compiling correctly, I do suspect a mis-configuration on xmage's side, not the docker. |
I don't think the "what's new" page is worth adding javafx back as a dependency. Removing javafx was a good call and it should be removed again. |
Nope, it was bad. No more removes. |
I don't understand your point. |
Release files must be build with oracle's java 8 (xmage's default java) or another distr with javafx like zulu. Here are fully workable docker image and script to build release files on linux systems. Warning, it's just a proof of concept and not production ready. How-to use:
FROM odinuge/maven-javafx:3-jdk-8
RUN echo "deb http://archive.debian.org/debian stretch main" > /etc/apt/sources.list
# additional tools
RUN apt update && apt install -y \
build-essential
RUN echo "MAVEN_OPTS='-Xmx3g'" > ~/.mavenrc
WORKDIR /mage
ENTRYPOINT ["/bin/sh", "-c"]
P.S. Parent docker image already has maven and all needed tools. Also it contains perl, but without exported archive/extract and other features (it required by perl build script). That's why I used make tools instead, but it can be modified to use perl too (see old docker script above with |
But why do we need to go back to having a dependency on JavaFX in the first place? This adds complexity to building, releasing, and developing (it broke my ability to compile within IntelliJ, because I don't have JavaFX in the SDK in IntelliJ) for a very tiny upside (opening the "what's new?" page inside the client on some systems, rather than a browser window - but it's broken on Macs so it opens in a browser window there.) |
Use oracle’s jdk 8 or openjdk 11+ like adoption/temurin. No needs in pom or source file changes, it’s fully compatible. |
Closed due workable scripts above. For devs: if some build tools failed on diff IDEs, OSes, JDKs or environments then report new issue about it to find a possible solution. |
I'm compiling the project on an amaretto docker. The recent changes have broken the build.
It seems that the javafx introduced for the what's new dialog is causing issue:
Is there a version not strict enough in one of the pom.xml file?
The text was updated successfully, but these errors were encountered: