I tried out the JavaFX tutorial for Netbeans with Maven and got it running without a problem. Maven found the artifacts, downloaded them, build the project and started it. But I get no code completion (Missing sources and Javadocs).
I tried to download the sources and javadocs for the maven dependencies in Netbeans, but only the sources/javadocs for the wrapper artifacts (e.g. the empty javafx-controls-11) are available. But no sources are found for the actual implementation (e.g. javafx-controls-11-linux).
Where do I find the sources/javadocs and how do I add them to Netbeans?
There is an issue already filed about this at the OpenJFX docs.
While it hasn’t been resolved yet, there is a possible workaround, based on:
NetBeans only adds javadoc/source jars for a jar with the exact same name and -javadoc/-source suffix
So here are the steps to solve it:
Clone the HelloFX sample for NetBeans and Maven, from the OpenJFX samples.
Update the JavaFX dependencies to 11.0.2.
<dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>11.0.2</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>11.0.2</version> </dependency>
mvn clean compile exec:java
Check that the JavaFX dependencies have been downloaded to your local
<user home>/.m2/repository/org/openjfx/javafx-base/11.0.2for instance you will find
linuxbased on your platform).
Back on NetBeans, right click in the Dependencies folder and select
Download Sources(see the task progress in the bottom right taskbar), and then
Download Javadoc(see the task progress).
- Go to your
m2repository and verify that there are now
However, this won’t solve the issue yet, there is an extra step:
- In your
m2repository, manually rename the
-javadocjar files using your platform classifier, to
linuxbased on your platform). Do this for the different JavaFX modules:
Back to NetBeans, check that now you have JavaDoc, or if you press Ctrl/CMD+Click you can access the source.
Note that this fix has to be done only once, the rest of your Maven projects should pick JavaDoc and Sources.