Co jest nie tak? (patrz załącznik).
- Zrzut ekranu (7).png (262 KB) - ściągnięć: 100
JavaFX 11 wymaga chyba osobnej instalacji: https://openjfx.io/ tzn jest osobnym składnikiem, nie wbudowanym już w standardowy JDK.
javafx is dead
;) wypadła z JDK i czeka ja taki sam los jak niegdyś GWT. Ślepa uliczka. Trzeba sobie ją dodatkowo sciągnąć.
What is dead may never die :-)
Skonfigurowałem Javę 8 bo na niej zawsze działała mi JavaFX ale jest jakiś błąd o dodanie flagi --add-modules.
Dom pom.xml dodajesz te importy :
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>11.0.2</version>
</dependency>
Najlepiej do glownego modulu
Nastepnie do kazdego modulu uzywajacego javaFX dodajesz odpowiednie wpisy do module-info.java, w zaleznosci czego bedziesz uzywal.
module simtree.client.desktop {
requires javafx.controls;
}
Dodatkowo musisz stworzyc nowa klase bedaca twoja uruchomieniowa MainApp, a ktora bedzie wywolywac dotychczas wywolywana klase.
public class AppRun {
public static void main(String[] args) {
SimTreeRun.main(args);
}
}
I w glownym pom.xml :
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-sourcepath</arg>
<arg>
${project.basedir}/src/main/java${path.separator}${project.basedir}/target/generated-sources/annotations${path.separator}/
</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
Oraz w pom.xml modulu ktory uruchamia applikacje:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<arg>-sourcepath</arg>
<arg>${project.basedir}/src/main/java${path.separator}${project.basedir}/target/generated-sources/annotations${path.separator}/</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>simtree.client.AppRun</mainClass>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>simtree.client.AppRun</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
Shalom