我是gradle的新手,我尝试使用lwjgl 3 配置gradle。因为我没有找到托管lwjgl3的仓库,所以我决定使用这个项目的每个人都必须定义lwjgl lib的路径。我创建了一个user.gradle文件,其中包含jar和native的路径。
我的build.gradle目前看起来像这样。
apply plugin: 'java'
apply from: 'user.gradle'
apply plugin: 'application'
sourceCompatibility = 1.8
targetCompatibility = 1.8
mainClassName = "mp.Main"
println("LWJGL jar path is configured to: ${config.lwjgl3Jar}")
println("LWJGL natives path is configured to: ${config.lwjgl3Natives}")
repositories {
mavenCentral()
flatDir {
dir config.lwjgl3Jar
}
}
dependencies {
compile 'com.google.code.gson:gson:2.3.1'
compile 'net.java.dev.jna:jna:4.1.0'
testCompile 'junit:junit:4.+'
testCompile 'com.carrotsearch:junit-benchmarks:0.7.2'
compile name: 'lwjgl'
}
tasks.withType(Test) {
scanForTestClasses = false
include "**/*Test.class" // whatever Ant pattern matches your test class files
}
sourceSets{
main {
java {
srcDir 'src'
exclude 'mp/graphics/gl/scene/Mesh.java'
exclude 'test'
}
}
test{
java {
srcDir 'src/test'
exclude '**/UnsafeTest.java'
exclude '**/DispatchTests/*'
exclude '**/MemoryTest.java'
exclude '**/SuperFastListTest.java'
exclude '**/MatrixTest.java'
exclude '**/SimulationTest.java'
}
}
}
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
如何设置原生代码?我尝试了不同的方式。这次谷歌并没有帮助我。所有结果都与此lib的旧版本相关,并且所有结果都使用存储库。也许我错过了森林之间的树木。有什么想法吗?
祝你好运!
PS:不确定它是否重要:我们在Windows,Linux和Mac上使用不同的IDE,如intelliJ和Eclipse。
答案 0 :(得分:1)
我遇到了同样的问题并编写了一个插件来处理与Java jar文件相关的本机。
http://cjstehno.github.io/gradle-natives/
它将从jar文件中解压缩它们,以便您可以使用它们并在项目中部署它们。
答案 1 :(得分:1)
我为我解决了这个问题。问题是我不知道如何配置gradle来使用本机。通常我在运行配置中设置类路径。但是:
如何使用gradle设置类路径的非常简单的解决方案:
应用java插件并使用函数:
run {
systemProperty 'java.library.path', 'path to ur natives')
}
只需通过gradle运行您的应用程序即可。
通过搜索" lwjgl gradle natives"有很多解决方案。我没找到合适的人:-)
希望解决方案可以帮助某人。