如何使用 gradle 插件在 netbeans 中获取项目以查找本机库?

How can I get a project in netbeans using the gradle plugin to find native libraries?

我正在尝试找出 gradle 和 netbeans 插件。我很容易就能将简单的项目放在一起,但是当尝试将使用 JOGL 的项目转换为 gradle 时,我遇到了 运行 问题。我可以让它编译,但是当我试图让它达到 运行 时,它却没有。我假设它没有找到本机库。

这是我的 build.gradle:

apply plugin: 'java'
apply plugin: 'application'

sourceCompatibility = '1.6'

[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

// NetBeans will automatically add "run" and "debug" tasks relying on the                      
// "mainClass" property. You may however define the property prior executing                   
// tasks by passing a "-PmainClass=<QUALIFIED_CLASS_NAME>" argument.                           
//                                                                                             
// Note however, that you may define your own "run" and "debug" task if you                    
// prefer. In this case NetBeans will not add these tasks but you may rely on                  
// your own implementation.                                                                    
if (!hasProperty('mainClass')) {
    ext.mainClass = 'com.protocase.viewer.JDesigner'
}

repositories {
    mavenCentral()
    maven {
        url "https://repository.apache.org/content/repositories/snapshots/"
    }
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.10'
    compile files('../logger/dist/logger.jar')
    compile files('../postalker/build/libs/postalker.jar')
    compile group: 'org.yaml', name: 'snakeyaml', version: '1.15+'
    compile group: 'commons-io', name: 'commons-io', version: '2.4+'
    compile group: 'gov.nist.math', name: 'jama', version: '1.0.3+'
    compile group: 'org.apache.commons', name: 'commons-imaging', version: '1.0-SNAPSHOT+'
    compile group: 'com.itextpdf', name: 'itextpdf', version: '5.5.5+'
    compile files('/home/vextorspace/.netbeans/8.0.2/jogl-runtime/jogl.jar')
    compile files('~/.netbeans/8.0.2/jogl-runtime/jogl.jar-natives-linux-amd64/libjogl_awt.so'\
, '~/.netbeans/8.0.2/jogl-runtime/jogl.jar-natives-linux-amd64/libjogl_cg.so', '~/.netbeans/8.\
0.2/jogl-runtime/jogl.jar-natives-linux-amd64/libjogl.so')
    runtime fileTree(dir: '~/.netbeans/8.0.2/jogl-runtime/jogl.jar-natives-linux-amd64/', incl\
ude: '*.so')
    compile files('~/.netbeans/8.0.2/gluegen-runtime/gluegen-rt.jar')
    runtime files('~/.netbeans/8.0.2/gluegen-runtime/gluegen-rt.jar-natives-linux-amd64/libglu\
egen-rt.so')
    compile files('libs/toxiclibscore.jar')
    compile group: 'org.apache.commons', name: 'commons-math3', version: '3.5+'
    compile group: 'commons-codec', name: 'commons-codec', version: '1.6'
    compile group: 'commons-logging', name: 'commons-logging', version: '1.1.3'
    compile group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.3.3'
    compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.3.6'
    compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.3.6'
}

但是当我尝试 运行 我得到

Executing: gradle run

:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/sun/gluegen/runtime/DynamicLookupHelper
        at java.lang.ClassLoader.defineClass1(Native Method)

如有任何帮助,我们将不胜感激!

谢谢

避免在构建脚本的路径中使用波浪字符。当您在命令行上使用它时,它由 bash 解释,而 Gradle 对此一无所知。