GithubHelp home page GithubHelp logo

Comments (3)

tiainen avatar tiainen commented on August 16, 2024 4

This is something that grew historically when trying to make life easier for gradle projects that depend on JavaFX. The JavaFX components must be detected as modules by the java runtime and therefor the jars must be defined on the module path. That's why, at first (before the existence of this plugin), we used the gradle modules plugin. We've provided changes to that plugin to make it work together with non-modular projects as well (see java9-modularity/gradle-modules-plugin#24).

Currently, the gradle modules plugin will indeed put all runtime dependencies on the module path, which might cause split package issues, because not all dependencies are safe to be used in a modular environment.

The best solution seems to me, that we get rid of the changes for "non-modular" support in the gradle modules plugin. I don't think we should even fix the module-path/classpath issue because, in retrospect, it just makes sense that the gradle modules plugin does it's work only in the case where a modular project is detected.
The second change is then to be done in the gradle javafx plugin. In case it detects that it is applied to a non-modular project, only the javafx artifacts should be added to the module path. All other dependencies should stay on the classpath.

from javafx-gradle-plugin.

tiainen avatar tiainen commented on August 16, 2024

See the following issue in the gradle modules plugin: java9-modularity/gradle-modules-plugin#47

from javafx-gradle-plugin.

xeruf avatar xeruf commented on August 16, 2024

The gradle modules plugin has been updated, but I still see classpath conflict issues when using this plugin. I guess you have to release a new version?

from javafx-gradle-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.