2012-07-16 5 views
0

죄송합니다.이 파일은 초보자 용 질문이지만 개미에 문제가 있습니다. 해결 방법은 잘 모르겠습니다.개미에 이미지가있는 폴더를 추가하십시오.

png 및 jpg 이미지가 포함 된 폴더를 추가하는 방법을 모르겠습니다. 해당 이미지는 나중에 표시되며 다음 명령을 사용하여 호출됩니다.

new URL("file:///" + System.getProperty("user.dir") + "\\img\\IMAGENAMEHERE.png") 

파일은/src 옆의 폴더에서/img 폴더에 있습니다.

그래서, 난 내 개미 빌드 파일을 가지고, 내 클래스 경로는 다음과 같습니다 그 이후

<path id="classpath"> 
    <fileset dir="libs"> 
     <include name="**/*.jar" /> 
    </fileset> 
    <pathelement location="${build}" /> 
    <pathelement location="${instrumented.dir}" /> 
    <pathelement location="${build}/tests" /> 
    <pathelement location="${libs}" /> 
    <pathelement location="${img}" /> 
</path> 

내가 작성, 난 개미 빌드 파일에서 빌드 폴더에 이미지를 (복사 시도 작동하지 않았다 빌드 폴더와 bin 폴더)

<target name="setup"> 
    <delete dir="${build}" /> 
    <mkdir dir="${build}"/> 
    <mkdir dir="${build}/app"/> 
    <mkdir dir="${build}/tests"/> 

    <copy todir="${build}/img"> 
     <fileset dir="${img}" > 
      <include name="**/*.png" /> 
      <include name="**/*.jpg" /> 
     </fileset> 
    </copy> 
</target> 

하지만 그 중 하나가 작동하지 않았다, 나는 어떻게 해야할지 모르겠어요. 문제는이다 난 개미 컴파일 후, 내가 java StartProgram를 호출 콘솔에서 실행할 때이 오류가 발생했습니다 :

Unable to obtain resource from C:\folder\img\salidaCerrada.png: java.util.zip.ZipException: error in opening z 
ip file 
    [junit] Unable to obtain resource from C:\folder\img\salidaCerrada.png: 
    [junit] java.util.zip.ZipException: error in opening zip file 
    [junit]  at java.util.zip.ZipFile.open(Native Method) 
    [junit]  at java.util.zip.ZipFile.<init>(ZipFile.java:127) 
    [junit]  at java.util.jar.JarFile.<init>(JarFile.java:135) 
    [junit]  at java.util.jar.JarFile.<init>(JarFile.java:99) 
    [junit]  at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLo 
ader.java:1006) 

어떤 생각을? 미리 감사드립니다.

편집 : 나는 .jar 파일을 만들지 않고 응용 프로그램을 테스트하고 컴파일 (.class 파일 만들기)하는 것을 잊어 버렸다. 이미지는 .jar 파일에도 없습니다.

+0

컴파일 할 때이 오류가 발생하지 않지만 단위 테스트 (junit)를 실행할 때 발생합니다. 이 단위 테스트는 무엇을하려고합니까? 스택 추적의 표현에서 유닛 테스트가 이미지가 zip (또는 jar?) 파일에있을 것으로 예상하는 것처럼 보입니다. – theglauber

+0

당신은 절대적으로 옳습니다. 그게 내가 방금 컴파일 한 프로그램 ("java startprogram.class"또는 "java startprogram")을 실행하려고 할 때 발생합니다. 프로그램이 일부 이미지를 화면에 표시하려고합니다. 이제는 이클립스에서 작동하지만 콘솔을 통해 실행하려고 시도하는 동안 오류가 발생합니다. – FDrico

+0

jar 파일이나 사용자 디렉토리에서 이미지를 보시겠습니까? jar 파일에서 가져 오기를 시도하면 리소스 참조가 잘못되었습니다. 더 많은 오류가 발생하면 java는 salidaCerrada.png를 zip 파일처럼 취급합니다. – MadProgrammer

답변

0

내 첫 번째 생각은 $ {img} 요소가 어디를 가리키고 있지 않다는 것입니다. 도구를 사용하여 build.xml 파일을 작성한 경우 $ {libs} 및 기타 특성이 작성되었을 것입니다. 먼저 $ {img}를 'img'(따옴표 제외)로 대체해야합니다.

나의 두 번째 생각은 "작업"디렉토리의 이미지를 찾고 있지만, 특히 다른 도구에서 실행중인 경우에는 그렇게해야한다고 생각하는 것으로 설정되지 않을 수도 있다는 것입니다. System.getProperty ("user.dir")의 값을 출력하여 실제로 무엇인지 확인하는 것이 좋습니다. 클래스 경로에서 이미지를로드하면 더 나은 결과를 얻을 수 있습니다 (클래스 경로에서 리소스 스트림을로드하는 방법에 대한 좋은 자습서를 찾을 수 있어야합니다).

+0

당신이 옳았어요 : D 고마워요! – FDrico

관련 문제