2011-05-03 6 views
7

Java 응용 프로그램을 Windows, Linux 및 Mac OS X 용 기본 바이너리로 패키지하는 방법에 대해 궁금합니다.Java 응용 프로그램의 원시 바이너리를 만드는 방법은 무엇입니까?

저는 Minecraft가이 작업을 수행한다는 것을 알고 있지만 어떻게 처리 할 수 ​​있는지 알지 못합니다. 이것이 내가 원하는 것입니다.

  • NetBeans (선호) 또는 Eclipse에서 자동으로 세 가지 바이너리를 빌드하십시오.
  • OpenGL 등의 기본 라이브러리를 포함합니다. 모든.
  • 가능한 경우 내 코드를 난독 처리하십시오.

Minecraft 자동 업데이트 기능을 모방 할 수있는 방법이 있다면 정말 멋지 겠지요.

이렇게하려면 사용할 수있는 도구가 있습니까? 아니면이를 수행하기 위해 대량의 XML을 작성해야합니까?

+0

* launch4J *와 같은 바이너리 내에서 * .jar *을 간단하게 감싸고 싶습니까? 아니면 * Excelsior JET * 같은 "AOT 컴파일러"를 원하십니까? 따라서 JRE가 더 이상 실행되지 않아도됩니까? (난독증에 관한 btw, 나는 * Proguard *를 사용하고 다치게 할 수 없다) – SyntaxT3rr0r

+0

[Java를 네이티브 코드로 컴파일 하시겠습니까?] (http://stackoverflow.com/questions/16360691/compiling-java-into-native-code) –

+0

[Robovm] (https://github.com/robovm/robovm)을 사용할 수는 있지만 Linux 응용 프로그램에서만 작동합니다. Linux 용 Windows 서브 시스템을 사용하면 OSX 지원을 놓칠 수 있습니다. –

답변

5

Windows 용 기본 이진 파일을 만들려면 Launch4J 같은 도구를 사용하십시오. OSX에서는 JarBundler을 사용할 수 있습니다. Minecraft는 단순히 Linux 용 jar 파일을 배포합니다. Linux 용 원시 바이너리 패키징 도구에 대해서는 잘 알지 못합니다.

GCJ를 통해 Java 코드를 컴파일 할 수도 있지만 제한 사항 및 호환성 문제가 있으므로 원하는 코드가 아닐 수도 있습니다. Launch4j 및 JarBundler와 같은 기본 번들러는 jar 파일을 랩핑하고 실제 JRE를 사용하여 실행합니다.

NetBeans 또는 Eclipse와 통합 할 때, 특히 솔루션이 플랫폼마다 다르므로 개미 빌드 파일을 작성해야 할 것입니다.

0

이클립스에 대해 GCJBuilder plugin을 살펴보십시오. GCJ 컴파일러가 수행하는 명령으로 상호 컴파일을 지원하는지 확실하지 않습니다.

0

GUI가 있고 웹 사이트에서 배포 할 수 있습니다. Java Web Start을 살펴보십시오. JWS는 Oracle이 제공하며 다른 많은 기능들 중에서 자동 업데이트 기능을 제공합니다.

JWS는 Jar 파일을 사용하므로 변환 할 필요가 없습니다.

0

예전에 JSMooth를 사용했습니다 : http://jsmooth.sourceforge.net/ 앞에서 언급했듯이이 래퍼는 실제 JRE를 검색하여 실행합니다. 번들 JRE가 제공되지 않습니다.

관련 문제