2013-01-19 2 views
1

나는 slick과 lwjgl을 사용하여 간단한 GUI를 만들었고, Eclipse를 사용하고 있고, 내 Java 빌드 경로에 내 항아리, 원주민 및 이미지를 가져 왔습니다. 코드를 jar 파일로 내 보냅니다. 내 바탕 화면에 항아리 파일을 가져 와서 SE Binary로 열어 보았는데 잠시 동안로드가되지 않으면 아무 일도 일어나지 않습니다.내 Java Slick 게임 Jar 파일이 열리지 않습니다.

빌드 경로로 가져온 방법과 관련이있을 수 있습니다. 설명을 해봅니다. 내가 만든 Java 프로젝트에 두 개의 추가 폴더가 있습니다. lib와 res이고, res는 모두 보유하고 있습니다. 내 이미지 및 lib 디렉토리에는 jars 및 natives라는 두 개의 다른 폴더가 있고 jars에는 두 개의 jar 파일 (slick 및 lwjgl)이 있고 네이티브에는 네 개의 다른 폴더 (windows, linux, mac, solaris native)가 있으며 빌드 경로에 내 2 개의 jar 파일을 가져 왔습니다. jar 옵션을 사용하여 클래스 폴더 추가 옵션을 사용하여 내 res 파일을 가져온 다음 동일한 옵션을 사용하여 lib 폴더를 가져온 다음 내보냈다가 열리지 않습니다.

필자는 jar 파일을 Eclipse에서 내 보내기 전에 다음과 같은 팝업 메시지가 나타납니다. 작업이 참조 된 라이브러리를 다시 포장합니다.

답변

0

lwjgl은 jar 아카이브 내에있을 때 기본 라이브러리를 사용할 수없는 것 같습니다.

해결책은 네이티브 폴더를 일부 설치 디렉토리 또는 임시 디렉토리로 푸는 것입니다. 그런 다음 lwjgl 함수를 사용하기 전에 새 경로를 원어로 설정해야합니다. 에서 압축 해제 한 파일과 예를 들어 "lib 디렉토리/기본"나는이 가장 쉬운 해결책이 될 것으로 보인다

System.setProperty("org.lwjgl.librarypath", (new File("lib/native")).getAbsolutePath()); 
System.setProperty("java.librarypath", (new File("lib/native")).getAbsolutePath()); 
System.setProperty("net.java.games.input.librarypath", (new File("lib/native")).getAbsolutePath()); 

를 사용합니다. 예를 들어 minecraft (lwjgl을 사용)는 "% appdata % .minecraft \ bin \ natives"(Windows에서는 Linux에서 % appdata % 대신 ~)의 기본 패키지를 압축 해제합니다.

편집 : 관련 위키 페이지 : http://lwjgl.com/wiki/index.php?title=Distributing_Your_LWJGL_Application

관련 문제