Desenvolvimento J2EE - Notas sobre o Release

1.0 Introdução
2.0 Problemas Conhecidos
   2.1 Incluindo Arquivos de Módulo em um Projeto de Aplicativo Corporativo
   2.2 Elementos Alternativos do Descritor de Implementação (Alt-dd) em Aplicativos Corporativos
   2.3 Definições de caminho de construção Java para projetos EJB/Web/Aplicativo Cliente
   2.4 Espaços Não Suportados em URIs de JAR Dentro de um EAR
   2.5 Nomes de projetos de aplicativo corporativo não devem conter caracteres DBCS
   2.6 Os Projetos Binários São Somente Leitura
   2.7 Criando Exemplos Várias Vezes
   2.8 Atualizações de Caminho de Construção Java ao Remover a Dependência de um Arquivo Utility JAR
   2.9 A Página Dependências JAR de Java não Consegue Atualizar o Caminho de Construção Java
   2.10 Remoção Automática de Ligações do WebSphere com Exclusão
   2.11 Suporte a Tarefas ANT do J2EE
   2.12 Travamento de Recursos Devido à Validação de JSP
   2.13 Registro de Saída Automático de ClearCase ao Importar e Sobrescrever Arquivos Existentes
   2.14 Erro 'Invalid project description' ao utilizar uma localização de projeto sem padrão para um novo projeto J2EE
   2.15 Suporte Ant imprudente do J2EE: Aplicativo com.ibm.etools.j2ee.ant.RunAnt

1.0 Introdução

A perspectiva J2EE contém as exibições que você normalmente usa quando desenvolve os recursos de projetos Enterprise Application, EJB, Web e Application Client.Esse arquivo readme descreve alguns problemas, limitações e soluções alternativas conhecidos que estão associados às ferramentas de desenvolvimento do J2EE no WebSphere Studio. Alguns outros itens relacionados a exibições do J2EE e projetos da Web do J2EE são documentados no arquivo readme para ferramentas da Web.

2.0 Problemas Conhecidos

2.1 Incluindo Arquivos de Módulo em um Projeto de Aplicativo Corporativo

Ao importar um dos tipos de arquivos de módulo (arquivo JAR do EJB, WAR, RAR e JAR do Application Client) para um projeto de Aplicativo Corporativo, é preciso utilizar o assistente de importação correto e importar o arquivo de módulo para o tipo de projeto apropriado. Não importe para o projeto de Aplicativo Corporativo. Se o arquivo de módulo for importado para o projeto Enterprise Application, não será possível incluir o módulo no aplicativo utilizando o Application Deployment Descriptor Editor.

2.2 Elementos alt-dd (Alternative Deployment Descriptor) em Aplicativos Corporativos

Não há suporte atualmente para a utilização de alt-dds no WebSphere Studio. A alternativa é editar os descritores de implementação dos módulos contidos.

2.3 Definições de Caminho de Construção Java para Projetos EJB/Web/Aplicativo Cliente

É recomendável que, sempre que possível, as definições padrão do caminho de construção Java sejam aceitas para os tipos de projeto J2EE. Para configurar dependências entre os projetos contidos em um Enterprise Application, utilize o editor JAR Dependencies ou a página de propriedade JAR Dependencies. Isso manterá o atributo Class-Path do caminho de construção MANIFEST.MF (utilizado para tempo de execução do servidor) sincronizado com o caminho de construção Java do projeto (utilizado para compilação em Java).

Geralmente, as bibliotecas solicitadas por um módulo devem estar contidas no Aplicativo Corporativo ou estar visíveis no servidor. Deve-se ter cautela ao incluir bibliotecas externas no caminho de construção do projeto, porque o projeto pode não executar no servidor. Por exemplo, suponha que exista uma biblioteca off_the_shelf.jar que você queira referenciar em um módulo da WEB. Você pode fazer uma das seguintes opções:

  1. Inclua off_the_shelf.jar no Enterprise Application utilizando o assistente para importação do sistema de arquivos; em seguida, utilize o editor JAR Dependency para tornar o módulo da WEB dependente do JAR ou
  2. Utilize as propriedades de caminho de construção Java do projeto Web para incluir o JAR no caminho de construção; o servidor deverá ter visibilidade para o JAR.

Para efetuar isso para teste da unidade, edite a configuração do servidor e inclua o JAR no classpath.

2.4 Espaços Não Suportados em URIs de JAR Dentro de um EAR

Espaços não são suportados no URI para módulos ou JARs utilitários em um aplicativo corporativo. O atributo "Class-Path:" de um arquivo MANIFEST.MF em um JAR ou módulo é uma lista delimitada por espaços de caminhos relativos dentro de um EAR. Um JAR não seria capaz de referenciar outro JAR no EAR se o URI do JAR referenciado contivesse espaços.

2.5 Nomes de Projetos de Aplicativo Corporativo Não Devem Conter Caracteres DBCS

Ao criar um projeto de aplicativo corporativo, é recomendável não dar a ele um nome que contenha caracteres DBCS.

2.6 Projetos Binários São Somente Leitura

Os projetos binários criados pela importação do EAR (disponível como uma opção no assistente de importação) são destinados a serem somente leitura. Não se deve tentar modificar o conteúdo de um projeto binário. É possível, contudo, excluir o projeto binário e substituí-lo por uma versão de origem de um repositório. A maioria das ações devem ser desativadas para projetos binários. Se você utilizar projetos binários, tente evitar quaisquer ações que modifiquem o conteúdo do projeto ou JAR.

2.7 Criando Exemplos Várias Vezes

Para criar várias instâncias dos Enterprise Application Examples internos, é necessário renomear o projeto de exemplo existente e todos seus projetos de módulo antes de importar o exemplo novamente. Se você não seguir essas etapas, a segunda importação sobrescreverá os projetos do módulo sem aviso.

Na exibição J2EE Hierarchy, clique com o botão direito do mouse em cada módulo que necessita ser renomeado e selecione Rename. No diálogo que é aberto, digite o novo nome e selecione Rename module in all Enterprise Applications e Rename module dependencies referencing selected project. É importante utilizar a renomeação da exibição J2EE Hierarchy e selecionar essas duas opções para que as interdependências do módulo permaneçam intactas.

2.8 Atualizações de Caminho de Construção Java ao Remover a Dependência de um Arquivo Utility JAR

Ao remover a dependência em um Utility JAR, o projeto Java correspondente será removido do caminho de construção Java apenas se o JAR dependente ainda for referenciado pelo projeto EAR.

Por exemplo, suponha que você crie um projeto da Web do J2EE 1.3 juntamente com o projeto JUnit Java Example. Em seguida, inclui o projeto JUnit como um Utility JAR no EAR, depois, inclui JUnit como uma Java JAR Dependency para o projeto Web.

Se você desejasse remover a dependência entre o JUnit e projeto Web, primeiro seria necessário remover a Java JAR Dependency a partir do projeto Web, em seguida, remover o Utility JAR do EAR. Siga essa ordem para assegurar que funcione corretamente.

2.9 A Página Java JAR Dependencies Não Consegue Atualizar o Caminho de Construção Java

A página Java JAR Dependencies não está sincronizada com a página do caminho de construção Java no diálogo de propriedades do projeto. Portanto, uma alteração aplicada a uma página pode não ser refletida na outra dentro da mesma sessão de diálogo.

Também há algumas instâncias em que a movimentação para frente e para trás nas páginas faz com que a atualização de uma página cancele a atualização de uma outra, quando o botão OK é pressionado ou quando o botão Apply é pressionado antes do botão OK. Normalmente, parecerá que uma dependência JAR foi incluída, mas o projeto não foi incluído no caminho de construção Java.

A solução alternativa é reabrir os diálogos de propriedades, alternar para a página JAR dependency, desmarcar e selecionar novamente o(s) JAR(s) dependente(s) e pressionar OK.

2.10 Remoção Automática de Ligações do WebSphere com Exclusão

Quando você exclui um objeto que contém ligações do WebSphere, o objeto de ligação também é excluído automaticamente. Por exemplo, se você excluir uma função de segurança com ligações na página Security do editor do descritor de implementação do aplicativo, as ligações da função de segurança também serão excluídas. Se você adicionar novamente uma função de segurança com o mesmo nome, certifique-se de refazer a ligação, se necessário.

2.11 Suporte a Tarefas ANT de J2EE

Na versão 4.x, as tarefas do Ant e as tarefas do J2EE adicionais da área de trabalho para exportação estavam disponíveis por meio de download de um arquivo zip (com.ibm.ant.extras.zip) a partir da Web. Essas tarefas adicionais agora são fornecidas no produto base do plugin com.ibm.etools.j2ee.ant.

Se você tiver construções do ANT estabelecidas fora do plugin antigo, será necessário migrar essas construções em razão das seguintes alterações do 4.0.x:

  1. Como os plugins foram renomeados a partir do "suplemento" transferível por download que estava disponível para o 4.0.x, o arquivo runAnt.bat de exemplo utilizado para a execução sem periféricos foi atualizado. Especificamente, o ID do aplicativo de inicialização foi alterado de "com.ibm.ant.extras.RunAnt" para "com.ibm.etools.j2ee.ant.RunAnt". Quaisquer arquivos .bat existentes utilizados para iniciar a área de trabalho sem periféricos devem ser modificados.
  2. A tarefa utilJAR foi reprovada. Ela permanece apenas para compatibilidade; no entanto, o suporte ao util JAR no editor de aplicativos deve ser utilizado no lugar. Além disso, observe que a tarefa foi simplificada e alguns parâmetros não são mais aplicáveis. Consulte a documentação da tarefa para obter mais informações.
  3. Um parâmetro foi incluído na tarefa de exportação do ear, para incluir o novo flag suportado pelo assistente, que inclui os meta-arquivos do projeto durante a exportação. Isso é útil para projetos binários. Consulte a documentação do produto para obter mais informações sobre a otimização de desenvolvimento com projetos binários.
  4. O parâmetro "use35rules" da tarefa EJBDeploy foi renomeado para "compatible35".

2.12 Travamento de Recursos Devido à Validação de JSP

Se um projeto da Web foi validado recentemente pelo JSP validator, pode ser que alguns arquivos JAR ou arquivos de classe da biblioteca a qual o projeto faz referência, ainda estejam em utilização. Como conseqüência, pode não ser possível excluir ou mover arquivos de classe ou arquivos JAR individuais (por exemplo, se escolheu excluir o diretório /WEB-INF/lib). Se um arquivo JAR no projeto EAR tiver referência feita por um projeto da Web como uma dependência Java JAR, pode não ser possível excluir o projeto EAR ou o JAR dentro dele. Para "liberar" esses recursos para as atividades de gerenciamento de arquivos, feche o projeto da Web e, então, abra-o novamente.

2.13 Registro de Saída Automático de ClearCase ao Importar e Sobrescrever Arquivos Existentes

Quando você importa um módulo J2EE e escolhe sobrescrever arquivos existentes que têm entrada registrada para ClearCase, os arquivos devem ser registrados quanto a saída antes que possam ser sobrescritos. Assim que a importação detecta um ou mais arquivos que estão com entrada registrada para o ClearCase, uma caixa de aviso perguntará se você deseja tentar registrar a saída do arquivo ou arquivos específicos. Se você clicar no botão "Yes to All", o WebSphere Studio tentará registrar silenciosamente a saída dos arquivos especificados e de quaisquer outros arquivos com entrada registrada que encontrar posteriormente durante a operação de importação.

2.14 Erro 'Invalid project description' ao utilizar uma localização de projeto sem padrão para um novo projeto J2EE

Quando você cria um novo projeto J2EE (incluindo Java, aplicativo corporativo, Web, EJB, cliente do aplicativo e projetos do conector), não é possível utilizar uma localização de projeto que já é utilizada por outro projeto no workbench. Se você preferir uma localização de projeto utilizada por outro projeto, o assistente exibirá um diálogo de erro "Invalid project description" ou uma mensagem. Se após receber essa mensagem você selecionar uma localização de projeto válida clicando no botão Browse, a criação do projeto ainda não será concluída. A solução alternativa é clicar em Cancel e reabrir o assistente para criação do projeto.

2.15 Suporte Ant imprudente do J2EE: Aplicativo com.ibm.etools.j2ee.ant.RunAnt

Ao executar quaisquer tarefas Ant J2EE ou EJB, utilize o aplicativo com.ibm.etools.j2ee.ant.RunAnt em vez do aplicativo org.eclipse.ant.core.antRunner.

Utilizar o RunAnt tem duas vantagens:

Retornar para o arquivo leia-me principal