2014-06-19 3 views
1

내 맞춤 주석의 값에 따라 객체의 특정 인스턴스를 호출하는 클래스를 만들려고합니다. Google Reflection은 좋은 옵션이지만 인스턴스를 생성 할 수 없습니다. 내가 뭘 잘못 했니?Google Reflections 객체가 인스턴스가 아닙니다.

나는

public class TesteDeAnotacoes { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) {    
     Reflections reflections = new Reflections("testedeanotacoes.test"); 
    } 
} 

을 시도하고 후속 오류가 있습니다

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Predicate 
    at testedeanotacoes.TesteDeAnotacoes.main(TesteDeAnotacoes.java:26) 
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Predicate 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    ... 1 more 
Java Result: 1 

나는 그것을위한 몇 가지 세부 사항을 놓친

project view

내 프로젝트가 작동되지 않습니다?

+1

단지 netbeans 프로젝트에 라이브러리를 추가하십시오. –

+0

괜찮 았지만 추가했지만 실행에 실패했습니다. 감사합니다. – deFreitas

+0

당신은 무엇을 실패했는지 자세히 설명해 주시겠습니까? –

답변

3

이것은 분명히 종속성 문제이며 모든 라이브러리와 직교합니다.

최적의 솔루션은 괜찮은 빌드 시스템을 사용하고 쉽게 전이 의존성을 얻는 것입니다. Maven (또는 Gradle, SBT, ...)에 익숙해지고 pom.xml, 특히 의존성 섹션을 살펴보십시오.

다른 해결책은 필요한 라이브러리를 수동으로 다운로드하고 클래스 경로 (java -cp ...)를 작성하거나, 사용 가능한 경우 모든 종속성을 포함하는 fat-jar 파일을 얻는 것입니다.

+0

고마워, 나는 Maven으로 전환했다. :) – deFreitas

+0

@zapp 왜 그 항아리를 사용합니까? 그것은 나를 위해 어떤 차이도 만들지 않았다. – simpleuser