如何在gradle汇编中包含javafx项目的CSS文件?

时间:2015-03-09 10:58:21

标签: java gradle javafx

我有一个包含css文件的javafx项目。我想直接在主java src中使用它们:

src/main/java/Foo.java
src/main/java/Foo.css

当我现在使用我的gradle脚本构建一个胖jar时,它不包含css文件,并且运行jar会以npe结束。

我的gradle脚本如下所示:

apply plugin: 'java'
apply plugin: 'eclipse'

jar {
  manifest { 
    attributes "Main-Class": "foo.Main"
  }
  from {
    configurations.compile.collect {
      it.isDirectory() ? it : zipTree(it)
    }
    configurations.runtime.collect {
      it.isDirectory() ? it : zipTree(it)
    }
  }
}

repositories {
  mavenCentral()
}

dependencies {
  compile 'com.github.sarxos:webcam-capture:0.3.10'
}

如何从gradle获取可运行的jar文件? 我已经尝试明确地包含css文件 - 它不起作用/我做错了...

1 个答案:

答案 0 :(得分:1)

如果您无法将资源文件更改为资源目录,则可以使用:

jar {
  manifest { 
    attributes "Main-Class": "foo.Main"
  }
  from {
    configurations.compile.collect {
      it.isDirectory() ? it : zipTree(it)
    }
    configurations.runtime.collect {
      it.isDirectory() ? it : zipTree(it)
    }
  }

  from('src/main/java') {
     include '**/*.css'
  }

}