2013-03-27 2 views
1

현재 폴더 내에서 두 개의 파일을 읽고 .txt 파일과 여러 개의 다른 .txt 파일이있는 별도의 폴더를 출력하는 .jar 파일이 있습니다. 리눅스에서 .jar 파일 실행

static String dir = System.getProperty("user.dir"); 

내가 여기 지침을 사용 :이 디렉토리 만들려면이 코드를 사용하여 Windows에서 완벽하게 작동하는 간단한 두 번 클릭하지만 현재의 지금 실행 내 .jar 파일을 설정하는 https://askubuntu.com/questions/192914/how-run-a-jar-file-with-a-double-click을, 그것을 두 번 클릭 할 때 아무 것도하지 않습니다. 내 생각에 위 코드 행은 Linux로 잘 변환되지 않는다. 아무도이 문제를 해결하는 방법을 알고 있습니까?

+1

경로를 어떻게 구축하고 있습니까? –

+1

무슨 예외가 있습니까? 터미널을 통해 먼저 실행하여보십시오. GUI를 사용하여 jar를 실행하면 오류가 가려집니다. – Jops

답변

8

첫째,

java -jar <file.jar>

으로, 명령 줄에 user.dir 속성을 그것을 실행하려고하는 크로스 플랫폼 (here 참조) 그래서 그것은 문제가되지 않습니다. 그러나 올바른 파일 구분 기호를 사용하고 있습니까? UNIX에서는 '/'이고 Windows에서는 '\'임을 기억하십시오.

1

이 명령

1

당신이 리눅스에서 잘 작동을 준 코드 줄 끝에서 인수로 다른 파일을 통과 -jar Jarname.jar 및 자바를 사용해보십시오.

필자가 가장 잘 추측하는 것은 linux에 적합하지 않은 윈도우 특정 경로 구분 기호 (path + "\ subdir"과 같은)를 추가하여이 디렉토리 경로를 사용하려고한다는 것입니다 (새 File 개체 대신).

그 중 하나 또는 jar 파일이 전혀 실행되고 있지 않습니다. jar 파일에서 어떤 것이 실행되고 있는지보기 위해 매우 간단한 작업을 시도 했습니까? java -jar myapp.jar으로 jar 파일을 실행 해보았습니까? 예외가 던져 지거나 오류 메시지가 표시되는지 확인 했습니까?

0

빌드 프로세스를 수동으로 조정하여 실행 파일로 표시된 jar 파일을 가져와야합니다. 빌드 XML 파일에는 jar 빌드 후 호출되는 대상 "-post-jar"가 있습니다. 이 타겟을 만들고 Ant의 chmod 태스크를 사용하여 항아리를 수정해야합니다. 일단 그렇게하면 해당 프로젝트에서 jar 파일을 만들 때마다 발생합니다.

JRE가 설치되어 있으면 정상적으로 실행됩니다.

Read this article to know more.