2011-08-04 3 views
9

NetBeans에서 간단한 Swing 응용 프로그램을 작성하고 처음으로 우분투 시스템에서 그렇게합니다.우분투 실행 가능 JAR (NetBeans)

많은 분들께서 알다시피, NetBeans는 "기본 설정"된 프로젝트에 대한 실행 가능 JAR을 자동으로 생성합니다.

Windows에서 실행 가능한 JAR을 두 번 클릭하면 자동으로 JRE가 호출되고 응용 프로그램이 실행됩니다. Ubuntu에서 .jar 파일을 두 번 클릭하면 파일이 아카이브 관리자에서 열립니다. JAR을 실행하려면 마우스 오른쪽 버튼을 클릭하고 "OpenJDK Java 6 런타임으로 열기"를 선택하거나 명령 줄에서 실행하십시오.

명령 줄에서 아무런 문제가 없습니다.

그래서 내가 2가 ...

파일 MySwingApp.jar가 실행으로 표시되지 않습니다 그러나, 나는 오른쪽 클릭 메뉴에서 그것을 실행하려고하면, 내가 읽기 오류가 질문 :

  1. 실행 파일로 설정하려면 어떻게해야합니까? 이것은 내가 주 (主) 안에 할 수있는 것이거나 쉘을 사용해야합니까? 셸을 통해 권한을 설정해야한다면 NB의 자동 생성 ** 정책 ** JARS와 충돌하지 않습니까? 그리고 어쨌든 실행 가능한 비트를 뒤집기 위해 어떤 명령을 사용해야합니까?!?!
  2. 이것은 단지 Linux 딸꾹질입니까? Windows를 실행하는 친구에게이 JAR을 보내고 싶습니다. 두 번 클릭하고 프로그램을 시작할 수있게하고 싶습니다.

도움이되는 제안 주셔서 감사합니다!

+0

"실행 가능으로 표시"는 x 비트가 있어야 함을 의미합니다. 터미널에서 "chmod + x MySwingApp.jar"을 클릭 한 후 해당 위치로 이동합니다. –

+0

감사합니다. 하지만 다른 질문은? 내가 컴파일 할 때마다 또는 내가 만드는 모든 JAR에 대해해야 할 일인가요? JAR을 제공하는 Windows 사용자는 어떻습니까? – Sarah

+0

jar 파일을 실행 파일로 표시하면 해당 파일을 두 번 클릭하고 실행할 수 있습니까? – Paul

답변

5
  1. Netbeans에서 실행 파일로 표시된 jar 파일을 얻으려면 빌드 프로세스를 수동으로 조정해야합니다. 프로젝트 루트로 이동하여 build.xml을 엽니 다. 헤더에는 빌드 프로세스에 추가하는 방법에 대한 지침이 있습니다. 항아리가 빌드 된 후에 호출되는 대상 "-post-jar"가 있습니다. 목표물을 만들고 Ant's chmod 작업을 사용하여 항아리를 수정해야합니다. 일단 그렇게하면 해당 프로젝트에서 jar 파일을 만들 때마다 발생합니다.

  2. JRE가 설치되어있는 한 친구의 Windows 컴퓨터에서 정상적으로 실행됩니다.

Here is a thread Linux에서 더블 클릭을 사용하여 실행중인 병에 대해.

+0

폴 - 고마워요! – Sarah

1

Jar 파일은 최상위 클래스 실행 파일이 아니며 실행 파일 플래그를 변경하여 마술처럼 실행 파일이되지는 않습니다. 당신이 항아리를 실행하면

, 명령을 실행

java -jar YOURJAR.jar ... 

그것은 당신이 PNG 파일을 더블 클릭하고,이 그림 프로그램

gimp YOUR.png 

에서 실행하도록 기대하는 것처럼, 동일합니다 귀하는 귀하의 PNG를 실행 가능하게 만들 필요가 없으며, 문제를 해결하지 못할 수도 있습니다.

대신 데스크탑 환경에서 jar 또는 png-file을 더블 클릭 할 때해야 할 일과 Linux에서 Windows에서 할 때와 같은 방식으로해야합니다 그것은 보통 OS (Windows)의 데스크탑 환경 (Windows)에 있기 때문에 Linux는 Gnome, KDE, XFCE, LXDE, 플럭스 박스 및 기타 수백만 가지를 가지고 있기 때문에 당신을 위해서입니다.

그리고 그걸로 무엇을하고 싶은지 잘 모르겠습니다. jar 파일은 일반적으로 Manifest와 클래스가 포함 된 압축 zip 파일의 특수 형식이므로 Archivmanager는 잘못된 솔루션이 아니며 아카이브를 실행하는 것보다 아카이브의 내용을 표시하는 것이 더 안전합니다.

파일을 창에 복사해도 아무런 효과가 없습니다. Windows는 심지어 실행 플래그를 가지고 있지 않지만, 당신은 그것으로 피들을해서는 안됩니다. 바탕 화면 설정을 변경하면 창으로 이동할 수 없으므로 원하지 않을 것입니다.

DE에서 올바른 설정을 사용하면 Netbeans 또는 다른 IDE에 jar 파일과 관련하여 반복해서 알릴 필요가 없습니다.

0

Jar 파일은 기본적으로 zip 파일이므로 실행 파일을 만들려면 여러 가지 방법이 있습니다. 베스트 (내 의견으로는) 그것을 만들기 위해 개미를 사용하는 것입니다. 또는 단순히 echo "Main-Class: YOUR.MAIN.CLASS" >> Manifest을 입력 한 다음 jar -cmf Manifest JARFILENAME.jar INPUTFILES으로 jar 파일을 만들면 Linux에서 실행 가능하도록 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭하십시오. 그런 다음 권한 탭을 클릭하고 execute을 확인하십시오. 또는 터미널 bamf가 될 수 있고 jar 디렉토리에 CD를 넣고 chmod +x JARFILE.jar HAPPY NIXING !!

2

당신은 자바 우분투 (및 기타 linuxes)에 네이티브 바이너리처럼, 그것은 커널의 기능의 수 jar 파일 을 실행하는 단계를 완료 한 기사를 건너 왔어요. 이런 방식으로 java를 실행하기위한 훅을 커널에 제공하려면 binfmt-support 패키지를 설치해야합니다.

우분투에서

터미널을 열고 실행

sudo apt-get install binfmt-support

을 다음

을 입력하여

chmod a+x yourjar.jar

그런 다음 당신은 다른 바이너리처럼 JAR을 실행할 수있는 JAR 파일을 실행 가능하게

yourjar.jar