2014-02-07 2 views
0

죄송 작동하지 jar 파일의 내용 만이 나를 미친 하루 종일 운전하고있다 :가져 오기 매우 nooby 간단한 질문에 대한

나는 나 폴더에 일부 JPG 파일을 정렬 할 수 있도록하는 간단한 프로그램을 만들려고 오전 . 사진을 찍은 날짜를 추출하기 위해 메타 데이터 추출기를 사용하고 싶습니다. (https://code.google.com/p/metadata-extractor/).

제 문제는 컴파일 할 때마다 패키지가 존재하지 않는다고 말합니다. 내가 테스트하려고하는 그림과 함께 내 테스트 Java 파일과 같은 디렉토리에 jar 파일이 있습니다. 다음과 같이

나는 힘내 배쉬의 클래스 경로를 설정 :

코드의 라인들 (간단한)과 함께
javac -cp "metadata-extractor-2.6.4.jar:." PictureSort.java 

: 나는 JAR 파일의 내용을 검토 한

import java.io.File; 
import com.drew.metadata.Metadata; 

class PictureSort 
{ 
    public static void main(String[] args) 
    { 
     File file = new File("IMG_1244.JPG"); 
     Metadata metadata = ImageMetadataReader.readMetadata(file); 
    } 
} 

내가 필요로하는 것에 대해 Metadata.java는 com/drew/metadata/Metadata에 포함되어 있으므로 두 번째 줄에 import stment를 사용했습니다. 대답을 찾고

PictureSort.java:2: error: package com.drew.metadata does not exist 
PictureSort.java:9: error: cannot find symbol 
    Metadata metadata = ImageMetadataReader.readMetadata(file); 
      ^
symbol: class Metadata 
location: class PictureSort 
PictureSort.java:9: error: cannot find symbol 
    Metadata metadata = ImageMetadataReader.readMetadata(file); 
           ^
symbol: variable ImageMetadataReader 
location: class PictureSort 
3 errors 

나는 시도했지만 나를 위해 작동합니다 해결책을 찾을 수 없습니다 :

하지만 ... 나는 다음과 같은 오류를 얻고있다. 누구든지 내가 뭘 잘못하고 있는지 올바른 방향으로 나를 가리킬 수 있습니까? 나는 항아리를 사용하는 측면에서 많은 경험이 없습니다. 도움말 정말 고맙습니다.

+0

가져 오기는 'import com.drew.metadata.Metadata' 여야합니다. _-src.jar_로 끝나는 항아리 이름은 이것이 클래스 파일을 포함하는 바이너리가 아니라는 것을 암시합니다. 단순한 소스 코드 보관소. 바이너리 라이브러리를 얻어야합니다. – McDowell

+0

빠른 답장을 보내 주셔서 감사합니다. 바이너리 라이브러리를 다운로드했습니다. com/drew/* 만 있으므로 코드와 클래스 패스에서이 코드를 변경하여 더 이상 소스가 아닙니다. 그러나 문제는 여전히 지속되며 패키지 "com.drew"와 동일한 오류가 발생합니다.메타 데이터 "가 존재하지 않습니까? – Zhave

답변

0

나는 그것이 source.com.drew.metadata이라고 생각합니다. 원인 패키지 이름은 항상 소문자로 시작합니다. 또한 나는 패키지 이름이 그렇게 생각하지 않는다. 시도해보십시오 com.drew.metadata.

0

Javadoc for Metadata의 빠른 확인 및 당신은 Metadata 패키지에 있음을 상단에 나타납니다, 당신은 소스 단지가 아닌 컴파일 된 클래스 가지고있는 것 같습니다 말했다 com.drew.metadata

:

javac -cp "metadata-extractor-2.6.4-src.jar :." PictureSort.java

컴파일 된 클래스가 포함 된 .jar을 다운로드해야합니다. https://code.google.com/p/metadata-extractor/downloads/detail?name=metadata-extractor-2.6.4.zip

.jar

를 얻을, 압축을 풉니의 .zip 다운로드 당신이 당신의 수입이 될 것이라고 완료하면 :

import com.drew.metadata.Metadata; 

그리고 당신에게 '당신이 여기에서 그렇게 할 수 있습니다 나타납니다 다음을 통해 컴파일합니다 :

javac -cp "metadata-extractor-2.6.4.jar:." PictureSort.java 
+0

나는이 문제를 여전히 잘 알고 있습니다. – Zhave

관련 문제