JavaFx scenebuilder 和 Maven 集成
JavaFx scenebuilder and Maven Integration
我在eclipse 中创建了一个JavaFx8 Maven 项目。我已将我的 fxml 文件放在 /src/main/resources/fxml/ 中。我能够使用 FxmlLoader 从 java 文件加载 fxml。但是,我无法使用 Scenebuilder 从 Fxml 文件中选择控制器 class。
我应该怎么做才能在 Scenebuilder 工具中自动看到控制器 class?
我发现了一个类似的问题,但答案不明确。我无法登录到 jira 案例。
Tell JavaFX Scene Builder where to look for controller classes
您必须将 FXML 与其控制器放在同一个包中
场景生成器将看到控制器
我最初将 fxml 文件放在同一个文件夹中 /src/main/java。然后,我使用 scenebuilder 映射了所有 elements/controller。
映射完成后,我已将 fxml 移动到 /src/main/resources 文件夹。这行得通。
同一件事的自动化解决方案:将您的控制器和 fxml 文件定位为与标准 java-fx 项目相同。我的意思是将您的 fxml 和控制器文件放在与非 Maven 项目相同的位置。然后将以下maven配置添加到您的项目中。
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>copy-fxml-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes/</outputDirectory>
<resources>
<resource>
<directory>src/main/java/</directory>
<filtering>false</filtering>
<includes>
<include>**/*.fxml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
我知道这是一个老问题,但我已经对修改控制器搜索路径的 Scenebuilder 的 Gluon 版本提出了拉取请求,here. There is also a corresponding issue raised here。
如果拉取请求获得投票,它可能会更快地合并。如果有人也可以在 Mac 和 Windows 平台上构建和测试它,那也会有很大帮助。
我在eclipse 中创建了一个JavaFx8 Maven 项目。我已将我的 fxml 文件放在 /src/main/resources/fxml/ 中。我能够使用 FxmlLoader 从 java 文件加载 fxml。但是,我无法使用 Scenebuilder 从 Fxml 文件中选择控制器 class。
我应该怎么做才能在 Scenebuilder 工具中自动看到控制器 class?
我发现了一个类似的问题,但答案不明确。我无法登录到 jira 案例。
Tell JavaFX Scene Builder where to look for controller classes
您必须将 FXML 与其控制器放在同一个包中 场景生成器将看到控制器
我最初将 fxml 文件放在同一个文件夹中 /src/main/java。然后,我使用 scenebuilder 映射了所有 elements/controller。
映射完成后,我已将 fxml 移动到 /src/main/resources 文件夹。这行得通。
同一件事的自动化解决方案:将您的控制器和 fxml 文件定位为与标准 java-fx 项目相同。我的意思是将您的 fxml 和控制器文件放在与非 Maven 项目相同的位置。然后将以下maven配置添加到您的项目中。
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>copy-fxml-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes/</outputDirectory>
<resources>
<resource>
<directory>src/main/java/</directory>
<filtering>false</filtering>
<includes>
<include>**/*.fxml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
我知道这是一个老问题,但我已经对修改控制器搜索路径的 Scenebuilder 的 Gluon 版本提出了拉取请求,here. There is also a corresponding issue raised here。
如果拉取请求获得投票,它可能会更快地合并。如果有人也可以在 Mac 和 Windows 平台上构建和测试它,那也会有很大帮助。