2010-05-18 4 views

답변

9

Jar 파일은 JVM이있는 모든 OS에서 실행됩니다.

+2

필요한 버전의 JVM이 설치된 모든 O/S에서. Java 6 API를 사용하는 경우 Java 5 JVM으로 충분하지 않습니다. –

8

예, 네이티브 라이브러리 (JNI)를 사용하지 않는 한, 이것이 Java가 작동하는 방식입니다. 플랫폼 독립적입니다.

+0

그리고 Java Native Access가 없습니다 :-) 파일 경로 구분 기호는 각 플랫폼마다 다릅니다. – Pindatjuh

+0

@Pindatjuh : JNA는 JNI의 맨 위에있는 레이어이므로 기본 지원 제한이 주어집니다. 그러나 여러 O/S에 대한 지원을하고 있으며, JNA는 구체적으로 언급 한 3을 지원합니다 : 'JNA는 OSX (ppc, x86, x86_64), linux (x86, amd64), FreeBSD/OpenBSD (x86, amd64), Solaris (x86, amd64, sparc, sparcv9) 및 Windows (x86, amd64)를 지원합니다. 이 플랫폼은 배포판에 포함되어 있지 않지만 windows/mobile 및 Linux/ppc64 용으로도 구축되었습니다. ' –

4

Jar 파일은 호환 가능한 버전의 JVM이 설치된 모든 OS에서 실행되도록 설계되었습니다. 그러나 일부 jar 파일은 OS 고유 코드를 사용하는 Java 코드 (Windows 레지스트리와의 대화)에서 컴파일 될 수 있으므로 다른 OS에서 테스트하는 것이 좋습니다.

+0

두 번째로 Windows 레지스트리를 처리하도록 작성 되었기 때문에 내 jar 파일의 경우입니다. MAC OSX에서 실행할 수는 없습니다. – Scarl

6

다른 말로하면 Java가 설치되어 있고 원시 코드 사용을 피하는 한 잘 수행해야합니다. 한 가지주의 할 점은 일반적으로 JAR 파일을 두 번 클릭하여 실행할 수 있으며 기본 실행 파일처럼 열 수 있다는 것입니다 (Windows에서는이 동작이 기본 동작 방식이며 다른 동작 방식에서는이 동작을 구성 할 수 있음).

이러한 JAR 파일을 실행 가능 JAR 파일이라고합니다. 작성하려는 파일이 실행 가능 JAR 파일이면 JVM (Java Virtual Machine)에 기본 클래스의 이름을 알려주는 Manifest 파일을 추가해야합니다. 실행 JAR 파일도 수행하여 명령 줄에서 실행할 수 있습니다 :

java -jar myprogram.jar 

당신의 JAR이 다음 프로그램을 실행하면 클래스 경로에 JAR을 추가 한 다음 메인 클래스를 실행해야 실행 JAR 수없는 경우 . 클래스 패스에 JAR을 추가하려면 : 예, 그것은 오래는 터미널이나 명령 프롬프트에서 망치고 아니에요 수

java -classpath path/to/your/program.jar com.mypackage.Main 
+0

JAR을 직접 두 번 클릭하면 주 또는 JVM으로 인수가 전송되지 않기 때문에 거의 작동하지 않습니다. – Rhangaun

+0

@Skeptic : "드물게"정의하십시오. 실제로 나는 많은 Java 프로그램을 사용하는데 그 중 아무 것도 명령 행 인수를 필요로하지 않는다. –

+0

@LawrenceDol 방금 실행 가능한 jar 파일을 만들었고 실제로 코드를 작성한 컴퓨터에서 완벽하게 잘 작동합니다 (Windows 8.1 프로에서 작업했습니다).하지만 Windows 7 Professional 컴퓨터에서 jar 파일을 실행하려고하면 나에게 JVM 오류를 주었고 나는 그것을 고치는 방법을 확신하지 못했다. 너는 무엇을 제안 하겠는가? – Scarl

0

(. 같은 java -jar name.jar) 그냥 잘 작동합니다.

관련 문제