2010-01-06 16 views
6

Tengo una aplicación Java conforme a una colección de jar que quiero que sea instalable en Ubuntu y SuSE. Quiero que el instalador pueda verificar el JRE, registrar una asociación de archivos y poder cargar un sitio web al desinstalar.Instalador/empaquetador para una aplicación Java para Ubuntu y SuSE

entiendo Ubuntu y SuSE se basan en diferentes arquitecturas, por lo que hay una manera consistente para hacer esto?

¿alguien tiene un consejo sobre los servicios públicos a utilizar o guías de leer para ayudar a lograr lo que estoy tratando de hacer.

Respuesta

1

Tome un vistazo a InstallJammer si usted está buscando un instalador de interfaz gráfica de usuario. De lo contrario, podría considerar construir un instalador nativo separado para cada plataforma. RPM en el caso de SuSE y DEB para Ubuntu. InstallJammer puede proporcionarle una GUI y también registrarse con el administrador de paquetes nativo en cada uno de esos sistemas si lo desea.

9

Distribuir un deb y rpm para cada plataforma proporcionaría a IMO la mejor experiencia de usuario y la integración del sistema (verificando la dependencia de JRE, registrando la asociación de archivos, etc.). Para la distribución basada en Debian, eche un vistazo a Packaging Java Apps for Ubuntu (las diapositivas están disponibles here). Para construir un rpm, eche un vistazo a RPM Howto o Development and Packaging Java Software for openSUSE.

Si no desea compilar paquetes para cada plataforma, le sugiero que distribuya un instalador, por ejemplo con IzPack. Esta herramienta permite generar un único cross-platform instalador, proporciona native integration, es altamente customizable, cubre la parte uninstall y la generación del instalador puede ser fácilmente incluida en una construcción automatizado (Ant o Maven base). Es realmente una buena herramienta. Y tiene graves references (Sun Microsystems, JBoss/RedHat, el proyecto de lenguaje Scala, algunos proyectos ObjectWeb/OW2, XWiki, etc.).

+1

Estos enlaces me ayudan mucho: [Java packaging trabaja en Debian] (http://wiki.debian.org/Java#Developers-JavapackagingworkinDebian) y [Debian Java Packaging] (http://wiki.debian.org/ Java/Packaging) – gorlok

1

Puede utilizar BitRock InstallBuilder, lo que permite a los instaladores GUI creta, RPM y paquetes DEB. Puede hacer lo que especificó (asociaciones de archivos, páginas web de inicio, etc.) Es comercial, pero tenemos licencias gratuitas para proyectos de código abierto y descuentos para pequeñas empresas

2

Si no desea alienar a los usuarios, haga lo que sea debe hacer para permitir que el usuario administre su paquete utilizando las herramientas nativas de esa distribución (consulte la respuesta de Pascal Thivent). Para Ubuntu y SUSE, esto significa paquetes deb y rpm.

Como usuario, inmediatamente me irrito cada vez que necesito para instalar paquetes con sus propios instaladores.

3

Pruebe con esto. Este instalador funciona con la mayoría de las distribuciones de Linux.

Inserta en un archivo .tar.gz tus archivos jar. si desea crear una entrada de menú en el menú Programas crear un archivo "SU PROGRAM.desktop" y poner este script en que

[Desktop Entry] 
Comment=YOUR COMMENT 
Name=YOUR PROGRAM 
#(Must same as .desktop file's name) 
Exec=java -jar "(Path to Extracted folder)/myapp.jar" 
Terminal=false 
Type=Application 
Icon=(Path to Extracted folder)/myapp.png 
Categories=Development 

OK, ahora se puede poner en un archivo .tar.gz también.

Ahora tiene que crear el archivo "install.sh" (nombre del archivo no es importante, sino que también funciona sin extensión - .sh)

Este es el código

#!/bin/bash 
if which java >/dev/null; then< 
sudo tar xvfz YOUR PROGRAM.tar.gz -C /opt #(Path for Extract Files) 
mkdir ~/.local/share/applications 
sudo tar xvfz DESKTOP.tar.gz -C ~/.local/share/applications 
echo "Program installed.!" 
else 
    echo "JRE Not Installed..!" 
fi 
read 
exit 

Llevar los 3 archivos en misma carpeta, luego ejecute instalar.archivo sh (debe marcarse como ejecutable)

Espero que esto sea útil para cualquiera.

0

Tenía la misma necesidad de empaquetar una aplicación Java como un archivo Deb de Debian/Ubuntu pero no encontré una guía adecuada, así que cuando logré crear un archivo deb, escribí a guide of my own.

Básicamente, lo que hice fue crear un script Bash que organiza archivos .class, etc. en una jerarquía de archivos listos para un archivo .deb, escribe un script ejecutable para iniciar el programa empaquetado, maneja el archivo .desktop para manejo de GUI , y luego ejecuta dpkg --build en todo el conjunto. Además, como paso importante, ejecute lintian -i en el archivo .deb resultante para asegurarse de cumplir con todos los estándares y políticas.

+0

El enlace solitario se considera una respuesta pobre (consulte [eliminación de faq #]) ya que no tiene sentido por sí mismo y ** no se garantiza que el recurso objetivo esté vivo en el futuro **. [Sería preferible] (http://meta.stackexchange.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. – j0k

Cuestiones relacionadas