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.