【问题标题】:Intellij not including every file in buildIntellij 不包括构建中的每个文件
【发布时间】:2017-05-20 11:47:58
【问题描述】:

我将我的 JavaFX/TornadoFX 项目转换为 gradle 项目,我的所有资源都在一个名为 resources 的 中...一切正常,但是当我构建项目包,不包含任何源代码,不要移动到 jar/build 文件夹。

由于我从包中加载我的 fxml、css 和字体文件,我需要告诉 intellij 以某种方式包含这个包...

有什么想法吗?

我尝试创建将包标记为资源但没有任何成功

我也试过创建一个 tornadoFX 项目,然后用资源包复制文件……也没有成功。

我尝试在资源包中创建一个随机类,只有该类被复制到 jar/build 文件夹中

有没有办法告诉 intellij 在模块中包含所有内容,而不仅仅是源代码?

编辑:为了更好地理解我的问题,我添加了一些屏幕截图

这是我的 src 目录的样子:

但是当我构建它时(它不包含资源包...):

【问题讨论】:

    标签: java intellij-idea gradle javafx tornadofx


    【解决方案1】:

    约定是默认情况下,只有源文件夹中的编译类被复制到构建文件夹。您应该将要包含在构建中的任意文件放入src/main/resources

    要从应用程序的类路径访问放入src/main/resources 的文件,您应该通过完整路径引用它们。所以src/main/resources/myfile.txt 可以通过/myfile.txt 访问。

    您可以在资源文件夹下创建文件夹,以便通过/view/MyView.fxml 访问src/main/resources/views/MyView.fxml

    如果您镜像源文件的包结构,则只能使用相对路径访问给定视图或片段的资源。所以对于文件com.example.myapp.MyView,你可以创建src/main/resources/com/example/myapp/MyView.fxml。它将为fxml 代表自动获取,或者通过resources["MyView.fxml"]MyView 中获取。

    【讨论】:

      猜你喜欢
      • 2018-11-20
      • 2017-06-27
      • 1970-01-01
      • 2023-03-15
      • 2017-10-31
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多