2009-11-29 3 views
1

Java 용 QuickTime을 사용하여 Java 데스크톱 응용 프로그램 내에 비디오를 표시하고 있습니다. 모든이 응용 프로그램이 jar 파일로 작성 될 때 잘 작동하지만 내가 this maven plugin를 사용할 때 어떤 이유로 네이티브 OSX 응용 프로그램 번들처럼 보이도록 응용 프로그램을 패키지로, 다음 코드OSX Jar Bundler를 사용하여 패키지 된 QuickTime QTSession.open이 실패하는 이유는 무엇입니까?

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

다음과 같은 오류가 발생합니다 :

java.lang.UnsatisfiedLinkError: /System/Library/Java/Extensions/libQTJNative.jnilib: no suitable image found. Did find: /System/Library/Java/Extensions/libQTJNative.jnilib: no matching architecture in universal wrapper

답변

3

Java 용 QuickTime은 32 비트 모드에서만 작동합니다. Java 응용 프로그램 용 JVM으로 설정된 J2SE 5.0 (32 비트)에도 불구하고 osxappbundle-maven-plugin으로 작성된 응용 프로그램 번들은 기본적으로 64 비트 버전의 JVM에서 실행되는 것처럼 보입니다. 32 비트 모드에서 실행되도록

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

강제로 응용 프로그램 번들하고 문제를 해결 osxappbundle - 받는다는 - 플러그인을 설정하면 다음 키를 포함하는 사용자 정의의 Info.plist를 사용합니다.

감사합니다. 올바른 방향으로 나를 가리키는 식초.

+0

내 즐거움. 해결책을 제시해 주셔서 감사 드리며 앞으로 다른 사람들에게 도움이 될 것입니다. –