2011-09-13 7 views
0

크로스 플랫폼 앱을 만드는 가장 쉬운 방법이기 때문에 자바를 배워 보았습니다 (파이썬도 있지만 이미 알고 있습니다). JOGL로 hello world 프로그램을 작성하려고했습니다. 필자는 그것을 작성했으며 Eclipse와 NetBeans에서 완벽하게 실행되지만 jar를 빌드하고 실행하려고하면 java.library.path에 JOGl이 없다고 표시됩니다. -D 인수를 사용하여 라이브러리 경로를 전달하려고 시도했지만 작동합니다! 질문 : : 추가 args없이 실행하는 방법이 있습니까? 더블 클릭만으로.-D 키없이 JOGL 앱으로 jar를 실행하는 방법은 무엇입니까?

감사합니다.

답변

2

프로젝트에 매니페스트 파일을 작성해야합니다 (META-INF/MANIFEST.MF). 이미 프로젝트 트리에이 파일을 가지고 있어야합니다. 그리고 거기 당신은 예를 들어, 클래스 경로를 지정할 수 있습니다

Class-Path: lib/jogl.jar lib/other_lib.jar 

그런 다음이 파일이 항아리에 간다 있는지 확인하십시오. 더 많은 정보를 원하시면 http://download.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

+0

이 시도 lib 디렉토리/jogl.jar lib 디렉토리/gluegen-rt.jar이 lib 디렉토리/jinput. jar lib/joal.jar \ 작동하지 않습니다. '스레드의 예외 "main"java.lang.UnsatisfiedLinkError : java.library.path의 jogl 없음 ". WTF? – HiTECNOLOGYs

+0

잘 모르겠습니다. 조글은 기본 라이브러리가 있기 때문에 조금 까다 롭습니다. 더블 클릭으로 만 실행하려면'java -D ...'명령을 사용하여 .bat/.sh 스크립트를 수행 할 수 있습니다. – polypiel

+0

JOGL은 까다롭지 않습니다. OpenGL의 모든 Java 바인딩에는 액세스 할 때 일부 원시 코드가 필요합니다 OpenGL에. 그러나 JOGL 2.0에서는 jogl.all.jar 및 gluegen-rt.jar을 클래스 경로에 넣고 기본 라이브러리가 들어있는 JAR 파일을 동일한 디렉토리에 넣기 만하면됩니다. 그런 다음 JOGL 2.0은 Java 라이브러리 경로를 설정할 필요없이 자동으로로드합니다. – gouessej

2

사용자에게 배포 할 때가되면 응용 프로그램을 배포하십시오. Java Web Start을 사용하십시오. 따라서 원주민을 최종 사용자를위한 '원 클릭'설치로 사용할 수 있으며 플랫폼 간 기본 다운로드를 분할 할 수도 있습니다.

Is there is a way to run it without any additional args? With only double click.

JWS는 지원되는 OS '의 바탕 화면 바로 가기 및 아이콘이있는 메뉴 항목도 제공합니다.

+1

좋은 답변입니다. "팻 JAR"접근 방식에는 많은 제한이 있습니다. Java Webstart가 훨씬 좋습니다. – gouessej

1

위 도구는 JarSplice과 같은 도구를 사용하여 매우 쉽게 수행 할 수 있습니다. gui를 따르십시오. 매우 쉽게 할 수 있습니다. 응용 프로그램은 네이티브를 jar 파일에 넣을 것이므로 jarl 응용 프로그램을 실행하려면 jar 파일을 두 번 클릭하면됩니다.

+0

JarSplice는 2014 년 1 월 이후로 JogAmp API에서 공식적으로 지원됩니다. 귀하가 답변을 올린 (2011 년 9 월) 경우가 아닙니다. – gouessej

0

JOGL 2.0에서는 Java 라이브러리 경로 설정이 더 이상 필요하지 않습니다. 클래스 경로 (jogl-all.jar 및 gluegen-rt.jar가 클래스 경로에 있어야 함)를 설정하고 네이티브 라이브러리를 포함하는 JAR을 사용자가 사용하는 것과 동일한 디렉토리 (응용 프로그램, 애플릿, Java Web 시작, 등 ...). 그런 다음 JOGL 2.0은 자동으로 기본 라이브러리를로드합니다. 클래스 경로 \ game.ProjectEvolve : 매니페스트 버전 : 1.0 \ 만든-기준 : HiTECNOLOGYs 메인 클래스 \

관련 문제