2016-07-27 6 views
0

저는 Java를 처음 접했고 Maven을 사용하여 JUNG 2.2 라이브러리를 만들고 싶습니다. 빌드하기위한 표준 방법 인 것 같습니다. 이전에 Maven을 사용 해본 적이 없지만 mvn clean install을 설치하고 실행하는 것이 어렵지 않습니다.Maven으로 JUNG 라이브러리를 빌드하십시오.

이제 JUNG에는 디렉토리가있는 6 개의 하위 패키지 (API, 구현, 알고리즘, I/O, 시각화 및 샘플)가 있습니다 (예 : jung-api은 API 패키지의 디렉토리 임). install 타겟은 일부 Java .class 파일을 생성하고 6 개의 디렉토리 각각의 target/classes/ 디렉토리에 배치합니다.

내가 라이브러리를 사용하기 위해를 다음에 무엇을해야 에 의아해입니다 : 난 그냥 쉘에서 내 CLASSPATH 변수에 정 디렉토리 경로를 추가해야합니까? 하지만 그때 입력해야 극도로 긴뿐만 아니라 자바 컴파일러가 패키지의 이름에서 원하지 않는 "-"을 가지고 jung-api.target.classes.edu.uci.ics.jung.graph.*을 가져와야 할 것입니다!

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Supplier 

내가 OS X 10.9.5에 javac의의 1.8.o_91을 사용하고 있습니다 : "-"나는 런타임 오류 문제 그리고 심지어는을 통과 할 때. 내가 찾은

+0

'mvn clean install'은 로컬 Maven 저장소에 JAR을 설치해야합니다. 어쨌든 ('mvn clean package'를 할 때도),'target' 디렉토리는 JAR을 포함해야합니다. * JAR이 없다면 빌드에 문제가 생길 수 있습니다. (있는 경우 : Maven 출력에 숨겨진 오류 메시지가 있습니까?). 어쨌든, 그것은 ** 수동으로 JAR을'jar-xf'와 함께 피우는 것이 필요하지 않습니다. ** – Marco13

+0

당신이 저를 용서해주기를 희망합니다.하지만 내 로컬 Maven 저장소를 어디에 위치시킬 지조차 모르겠습니다. . 아니면 내 집에있는 새로운'.m2' 디렉토리 (같은 JAR과 다른 것들이 들어있다) 일 수도있다. – Giorgio

+0

예, 그게 전부입니다. Maven으로 컴파일 된 ANY 라이브러리에 필요한 모든 종속성이 거기에 복사됩니다. 기본적으로'mvn clean package'는 JAR 파일을 로컬 ('target' 폴더)에 빌드하는 반면,'mvn clean install'은 새로 생성 된 JAR 파일을 Maven 레포로 복사합니다. – Marco13

답변

0

이 솔루션은 jar -xfjung-samples 디렉토리에 .JAR 각 파일에 있었고, 나는 내 CLASSPATH 변수에 추가 장소에서 jar에 의해 추출 된 모든 디렉토리를 이동합니다. 적어도 이것은 작동하는 것 같습니다.

관련 문제