OSX JAR Bundler를 사용하여 포장했을 때 QuickTime QTsession.open이 실패하는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1814691

  •  06-07-2019
  •  | 
  •  

문제

Java Desktop 애플리케이션 내에 비디오를 표시하기 위해 Java에 QuickTime을 사용하고 있습니다. 이 응용 프로그램이 JAR 파일로 제작 될 때는 모든 것이 잘 작동하지만 어떤 이유로 든 사용하면 이 Maven 플러그인 응용 프로그램이 기본 OSX 응용 프로그램 번들처럼 보이도록 패키지 : 다음 코드입니다.

try {
  QTSession.open();
} catch (Throwable t) {
  logger.error("QTSession was unable to open", e);
}

다음 오류가 발생합니다.

java.lang.unsatisfiedlinkerror : /system/library/java/extensions/libqtjnative.jnilib : 적절한 이미지가 없습니다. 찾았으니 : /system/library/java/extensions/libqtjnative.jnilib : 유니버설 포장지에서 일치하는 아키텍처 없음

도움이 되었습니까?

해결책

Java의 Quicktime은 32 비트 모드에서만 작동합니다. J2SE 5.0 (32 비트)이 Java 응용 프로그램의 JVM으로 설정 되었음에도 불구하고 OsxAppBundle-Maven-Plugin 기본값은 64 비트 버전의 JVM에서 실행됩니다. OSXAPPBUNDLE-MAVEN-PLUGIN을 설정하여 다음 키가 포함 된 사용자 정의 정보를 사용합니다.

<key>LSArchitecturePriority</key>
<array>
<string>i386</string>
<string>ppc</string>
</array>

응용 프로그램 번들이 32 비트 모드로 실행되도록 강제하고 문제를 해결합니다.

올바른 방향으로 나를 가리키신 식초에 감사드립니다.

다른 팁

나는 또한 ... 당신은 Java -d32와 함께 Java 응용 프로그램 ...

(참조 : http://macintoshnotes.wordpress.com/2009/12/07/quicktime-for-java-under-snow-leopard/)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top