I am trying to figure out gradle and the netbeans plugin. I have easily been able to put together simple projects, but when trying to convert a project that uses JOGL to gradle I have run into problems. I can get it to compile, but when I try to get it to run, it does not. I assume it is not finding the native libraries.
我想弄清楚gradle和netbeans插件。我很容易将简单的项目放在一起,但是当我尝试将使用JOGL的项目转换为gradle时,我遇到了问题。我可以让它编译,但当我试图让它运行时,它不会。我假设它没有找到本机库。
Here is my build.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'
}
but when I try to run I get
但是当我试着奔跑时,我得到了
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)
Any help would be much appreciated!
任何帮助将非常感激!
Thank you
1 个解决方案
#1
Avoid tilde character in paths in your build script. It is interpreted by bash when you use it on command line and Gradle knows nothing about it.
避免在构建脚本中的路径中使用波形符。当您在命令行上使用它时,它由bash解释,Gradle对此一无所知。
#1
Avoid tilde character in paths in your build script. It is interpreted by bash when you use it on command line and Gradle knows nothing about it.
避免在构建脚本中的路径中使用波形符。当您在命令行上使用它时,它由bash解释,Gradle对此一无所知。