2013-06-13 5 views
0

다음과 같은 문제가 있습니다. 나는 java 응용 프로그램을 만들고 모든 파일 (runnable jar 파일 + jar을 exe + 다른 파일과 폴더를 "adim"폴더에 넣고 D 드라이브 (D : \ adim)에 넣습니다. 응용 프로그램을 실행하면 라이센스를 찾습니다 adim 폴더에서하고 .lic 파일.Java 응용 프로그램이 공백이있는 폴더에서 작동하지 않습니다.

을 완벽하게 잘 작동하지만 "더비와 adim"이있는 폴더 "adim"를 변경할 때이 응용 프로그램은 "그것은 license.lic 파일을 찾을 수 없습니다"라는 오류가 표시됩니다.

최악의 경우, installShield 패키지를 만들어 "Program Files (x86)"(위의 c : \ Program Files (x86) \ ADIM)에 설치하면 위에서 언급 한 문제가 발생합니다 (라이센스 파일을 찾을 수 없음). 참고 : os는 다음과 같습니다. Windows 7 Professional 64bit

누구나 잘못된 것을 도울 수 있고 해결책은 무엇입니까? 당신은 제대로 파일 이름을 탈출 할 필요가

+3

당신이 당신의 응용 프로그램에서 하드 코드 된 경로를 가지고 있습니까 특수 문자 앞에 백 슬래시를 사용합니까? –

+0

@SotiriosDelimanolis @SotiriosDelimanolis 위의 주석에 동의합니다. 또한 파일을 읽으려는 프로그램이 찾고있는 환경 변수가 있습니다 (파일 이름에 하드 코드가없는 경우). 내가 찾는 다른 곳은 데이터베이스입니다 ... 필드 .. 파일 이름이 거기에 설정되어있을 수 있습니다. 행운을 빌어 요 –

+0

응용 프로그램에 하드 코딩 된 경로가 없습니다. 응용 프로그램 폴더의 이름에 공백없이 모든 폴더에서 잘 작동합니다. – dar189901

답변

0

+0

귀하의 의견을 이해할 수 없습니다. 폴더 이름에 공백이없는 경우 절대 이스케이프 이름이 필요하지 않습니다. 예를 들어, "adim", "AdimWithDerby"또는 "a"를 폴더 이름으로 사용하면 응용 프로그램이 올바르게 작동합니다. 그러나 "Adim With Derby"와 같은 폴더 이름에 공간을 추가하면이 문제가 발생합니다. – dar189901

+0

@ dar189901 애플리케이션을 어떻게 실행하고 있습니까? 애플리케이션에서 사용되는 경로는 어디에 있습니까? –

+0

나는 runnable jar 파일을 만든 다음 exe 파일로 변환한다.그리고 관련된 모든 파일과 폴더를 같은 폴더에 넣으십시오. 그것은 문제가 폴더 이름의 공백과 함께 잘 작동합니다. – dar189901

관련 문제