Os aplicativos construídos no Eclipse 3.1 agora podem ser implementados, utilizando o Java Web Start.
O Java Web Start "é uma tecnologia de implementação de aplicativo que oferece o poder de ativar aplicativos de recursos completos com um único clique no navegador da Web".
Os pré-requisitos para iniciar o Eclipse a partir do Java Web Start são:
root=<folderContainingStartup.jar>/
<j2se version="1.4+" />
. Clique em Concluir. site/ (A raiz do site jnlp) startup.jar features/ WrapperingFeature_1.0.0.jar WrapperingFeature_1.0.0.jnlp com.xyz.abc_1.0.0.jar com.xyz.abc_1.0.0.jnlp ... plugins/ org.eclipse.core.runtime_3.1.0.jar com.foo.baz_1.0.0.jnlp ...
Um aplicativo Java Web Start é descrito por arquivos JNLP. Eles substituem o eclipse.exe e os arquivos config.ini por algum mecanismo equivalente. Por exemplo, o JNLP possui seu próprio mecanismo para controlar a tela inicial, maneiras de transmitir parâmetros e de definir o que constitui o aplicativo.
Quando você fez a exportação, todos os arquivos JNLP simples foram criados, portanto, resta a gravação do arquivo principal que controlará o aplicativo. Como a maioria dos arquivos principais são comuns a todos os aplicativos, recomenda-se iniciar a partir do gabarito autodocumentado a seguir.
No site que serve o aplicativo, o arquivo deve estar localizado na mesma pasta que o startup.jar. Quando você acabar de editar este arquivo, o aplicativo estará pronto.
<?xml version="1.0" encoding="UTF-8"?> <jnlp spec="1.0+" codebase="http://myCompany.org/jnlpServer" href="mail.jnlp"> <!-- URL para o site que contém o aplicativo jnlp. Ele deve corresponder ao valor utilizado no export.Href, o nome deste arquivo --> <information> <!-- nome legível do usuário do aplicativo --> <title> Mail Application </title> <!-- nome do fornecedor --> <vendor>My company</vendor> <!-- home page do fornecedor --> <homepage href="My company website" /> <!-- descrição do produto --> <description>This is a mail client</description> <icon kind="splash" href="splash.gif"/> </information> <!--pedir todas as permissões a partir do aplicativo. Isso não é alterado--> <security> <all-permissions/> </security> <!-- O nome da classe principal a ser executada. Isso não é alterado--> <application-desc main-class="org.eclipse.core.launcher.WebStartMain"> <argument>-nosplash</argument> </application-desc> <resources> <!-- Fazer referência ao startup.jar. Isso não é alterado--> <jar href="startup.jar"/> <!-- Fazer referência a todos os plug-ins de recursos que constituem o aplicativo --> <!-- Aqui, estamos fazendo referência ao recurso do wrapper pois ele faz referênciade forma temporária a todos os outros plug-ins necessários --> <extension name="Wrappering feature" href="features/Wrappering_1.0.0.jnlp"/> <!-- Informações geralmente especificadas no config.ini --> <property name="osgi.instance.area" value="@user.home/Application Data/mail"/> <property name="osgi.configuration.area" value="@user.home/Application Data/mail"/> <!-- O ID do produto a ser executado, como localizado na página visão geral do editor do produto --> <property name="eclipse.product" value="mail.product"/> </resources> <!-- Indicar em uma base de plataforma qual JRE utilizar --> <resources os="Mac"> <j2se version="1.5+" java-vm-args="-XstartOnFirstThread"/> </resources> <resources os="Windows"> <j2se version="1.4+"/> </resources> <resources os="Linux"> <j2se version="1.4+"/> </resources> </jnlp>
Dicas: após criar esse arquivo, é possível armazená-lo no recurso do wrapper na mesma pasta que o startup.jar, de tal forma que em cada exportação você obterá a estrutura completa.
Embora os aplicativos RCP não utilizem recursos, é possível executar o Java Web Start.
Para fazer isso, é recomendável criar um recurso de wrapper para facilitar a criação do arquivo jnlp principal e facilitar a implementação. Esse recurso do wrapper lista todos os plug-ins do aplicativo. Quando o recurso estiver atualizado,copie o arquivo JNLP gerado e modifique-o para que se torne o arquivo JNLP principal.