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 JAR em 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 do Caminho de Construção Java ao Remover a Dependência de um Arquivo JAR de Utilitário
   2.9 A Página Java JAR Dependencies Não Pode Atualizar o Caminho de Construção Java
   2.10 Remoção Automática das Ligações do WebSphere com Delete
   2.11 Suporte a Tarefas do J2EE ANT
   2.12 Recurso Travando Devido à Validação de JSP
   2.13 Registro de Saída Automático do ClearCase ao Importar e Sobrescrever Arquivos Existentes
   2.14 Erro 'Invalid project description' ao Utilizar uma Localização de Projeto Não-padrão para um Novo Projeto J2EE
   2.15 Suporte para J2EE Headless Ant: 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 (EJB JAR, WAR, RAR e arquivo JAR do Application Client) para um projeto Enterprise Application, você deve utilizar o assistente para importação correto e importar o arquivo de módulo para o tipo de projeto apropriado. Não importe para o projeto Enterprise Application. 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

A utilização de alt-dd não é atualmente suportada 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 JAR em um EAR

Espaços não são suportados no URI para módulos ou utilitários JARs 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 em um EAR. Um JAR não poderá fazer referência a outro JAR no EAR se o URI do JAR referido contiver espaços.

2.5 Nomes de projetos de aplicativo corporativo não devem conter caracteres DBCS

Ao criar um projeto de aplicativo corporativo, recomenda-se não dar-lhe 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 do assistente para importação) devem ser somente leitura. Você não deve tentar modificar o conteúdo de um projeto binário. Você pode, no entanto, excluir o projeto binário e substituí-lo por uma versão de origem a partir de um repositório. A maioria das ações deve ser desativada para os projetos binários. Se você utilizar projetos binários, tente evitar ações que modifiquem o conteúdo do projeto ou do 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 os seus projetos de módulos 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 em cada módulo que precisa ser renomeado e selecione Rename. No diálogo exibido, 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 do Caminho de Construção Java ao Remover a Dependência de um Arquivo JAR do Utilitário

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 Pode 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 Delete

Ao excluir um objeto que contenha ligações do WebSphere, o objeto de ligação também é automaticamente excluído. 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ê tiver uma função de segurança com o mesmo nome, certifique-se de religá-la, se necessário.

2.11 Suporte a Tarefas do J2EE ANT

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 Recurso Travando 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 do ClearCase ao Importar e Sobrescrever Arquivos Existentes

Ao importar um módulo J2EE e optar por sobrescrever arquivos existentes que registraram entrada no ClearCase, registre saída dos arquivos antes de serem sobrescritos. Assim que a importação detectar um arquivo ou arquivos que registraram entrada no ClearCase, uma caixa de aviso pergunta se você deseja registrar saída do arquivo ou arquivos específicos. Se clicar no botão "Yes to All", o WebSphere Studio tentará registrar saída dos arquivos especificados de forma silenciosa além de todos os outros arquivos que registraram entrada que ele encontrar posteriormente durante a operação de importação.

2.14 Erro 'Invalid project description' ao Utilizar uma Localização de Projeto Não-padrão para um Novo Projeto J2EE

Ao criar um novo projeto J2EE (incluindo projetos Java, aplicativo corporativo, Web, EJB, cliente do aplicativo e conector), você não pode utilizar uma localização de projeto que já seja utilizada por outro projeto no workbench. Se escolher uma localização de projeto que seja utilizada por outro projeto, o assistente exibe um diálogo ou mensagem de erro "Invalid project description". Se depois de 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 de criação do projeto.

2.15 Suporte para J2EE Headless Ant: Aplicativo com.ibm.etools.j2ee.ant.RunAnt

Quando executar quaisquer tarefas J2EE ou EJB Ant, 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