0
我對Gradle很陌生,也是我使用它的主要原因,因爲我需要解決我編譯的jar的依賴性問題。Gradle依賴不包含在罐子裏
這裏是我的build.gradle
文件:
apply plugin: 'java'
apply plugin: 'eclipse'
version = '0.9'
jar {
manifest {
attributes 'Main-Class': 'wd.nlp.FileImport', 'Implementation-Title': 'WD\
NLP', 'Implementation-Version': version
}
}
repositories {
flatDir(dirs: 'lib')
}
dependencies{
compile 'mallet:mallet:2.0.7'
}
我的Java文件都依賴於一種稱爲Mallet
第三方庫。這裏是我的文件夾結構:
|---1.10
|-----taskArtifacts
|-build
|---classes
|-----main
|-------wd
|---------nlp
|---dependency-cache
|---libs
|---tmp
|-----jar
|-lib
|-src
|---main
|-----java
|-------wd
|---------nlp
|-----resources
我放在裏面Mallet-2.0.7.jar
的lib
頂部文件夾下。然後我用gradle build
命令,並嘗試運行我的課:
java -classpath build/libs/JavaClassifier-0.9.jar wd.nlp.FileImport -train ...
然後有人告訴我:
Exception in thread "main" java.lang.NoClassDefFoundError: cc/mallet/pipe/Pipe
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
的Mallet
庫的路徑是cc.mallet.*
......現在我不知道是什麼做...請幫助!
謝謝!它確實把我帶到了下一步......我能夠通過Gradle「運行」它。那麼,這發生了:'進程'命令'/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java''以非零退出值1'結束這是關於我的程序嗎?我的Java路徑是正確的。我在我的控制檯上運行上面的行,它是'java'命令的位置。 –
如果我忘了提及...我的程序主類確實帶有一些命令行參數。 –
你可以通過添加'run {args'your','arguments'}'來添加參數到我的build.gradle – Aurel