2013-07-05 2 views
0

특정 사용자 PC에서 SWT 응용 프로그램을 시작하는 데 문제가 발생했습니다. 응용 프로그램은 JNLP를 통해 배포됩니다. 시작시swt-win32.dll 및 swt-win32-XXXX.dll의 내보내기 경로 정의

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
no swt-win32-4234 in java.library.path 
no swt-win32 in java.library.path 
Can't load library: C\Users\userprofile\swt-win32-4234.dll 
Can't load library: C\Users\userprofile\swt-win32.dll 

occures. 이 파일들을 지정된 폴더에 복사하는 것은 도움이되지 않습니다. 이전 사용자 프로필의 존재로 인해 오류가 발생했을 수도 있지만 이러한 오류가없는 PC에서도 오류가 발생했을 것으로 추측됩니다.

이러한 라이브러리를 추출 할 위치를 수동으로 지정하여 찾을 수있는 방법이 있습니까?

감사합니다.

+0

dll에서 depends.exe를 실행하고 누락 된 종속성이 있는지 확인하십시오. – user93353

+0

특정 사용자가 64 비트 운영 체제를 사용하고 있습니까? Java 런타임? 다른 사용자들은 어떻습니까? 너는 약간의 불일치가 있니? –

+0

음, 우리 회사에서는 32 비트와 64 비트 시스템이 모두 사용되지만 32 비트 Java 만 사용됩니다. 대부분의 사용자는 문제가 없지만이 문제가있는 사용자는 적습니다. – Romczyk

답변

0

최대 3.2 개까지의 버전에서이 문제점이 발생합니다. 이것은 \ libswt \ win32에 64 비트 swt.jar을 추가하여 32 비트를 대체함으로써 해결됩니다.

이것을 구현하는 더 좋은 방법은 libswt에서 win64 디렉토리를 만들고 여기에 swt.jar 파일을 복사하고 .bat 스크립트를 수정하는 것입니다. 예를 들어, spoon.bat의 선 발견 :

세트 CLASSPATH = % 래스 % libswt \에서의 Win32 \의 swt.jar

세트 CLASSPATH = % 래스 %로 변경; \ libswt Win64를 \는

0

[http://www.eclipse.org/forums/index.php/t/229186/ @ "피트"에서 인용] swt.jar

마우스 오른쪽 단추로 클릭 ... 같은 초기 문제가 있었다 마지막으로 그것을 분류 프로젝트 속성

프로젝트 탭에서 자바 빌드 경로에서

로 이동하면 관련 프로젝트 내 경우,이 org.eclipse.swt.win32.win32.x86

은에 작은 화살표와 함께이 아래로 확장 옵션을 표시하려면 왼쪽. 여기에 네이티브 라이브러리 위치가 있습니다. 이것은 설정되지 않았으므로 선택하고 편집을 클릭했습니다.

다음 팝업 창에서 Workspace를 선택한 다음 org.eclipse.swt.win32.win32.x86을 선택했습니다.

다음에 클래스를 실행하면 정상적으로 작동합니다.

이 정보가 도움이되기를 바랍니다.

+0

사실 나는 관련된 프로젝트에 아무 것도 없습니다. swt.jar은 제품 jar에 내장되어 있습니다. – Romczyk

관련 문제