저는 컴파일 된 jar 파일의 종속성 문제를 해결해야하기 때문에 Gradle과 그 주된 이유를 처음 접했습니다.요람 종속성은 jar 파일에 포함되어 있지 않습니다.
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'
}
내 자바는 모든 Mallet
라는 타사 라이브러리에 의존 파일 :
여기 내 build.gradle
파일입니다.
|---1.10
|-----taskArtifacts
|-build
|---classes
|-----main
|-------wd
|---------nlp
|---dependency-cache
|---libs
|---tmp
|-----jar
|-lib
|-src
|---main
|-----java
|-------wd
|---------nlp
|-----resources
내가 최고 폴더 아래에
lib
내부
Mallet-2.0.7.jar
배치 : 여기 내 폴더 구조입니다. 그럼 난
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을 통해 그것을 실행할 수있었습니다. 그럼, 이런 일이 발생했습니다 :'Process 'command'/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java ''0이 아닌 종료 값 1로 끝났습니다. '내 프로그램에 관한 것인가? 내 Java 경로가 정확합니다. 위의 줄을 내 콘솔에서 실행하고, 그것은'java' 명령의 위치입니다. –
언급을 잊어 버린 경우 ... 내 프로그램 기본 클래스는 일부 명령 줄 인수를 사용합니다. –
'run {args 'your', 'arguments'}'를 build.gradle에 추가하여 인수를 추가 할 수 있습니다. – Aurel