Zona J

Zona J header image 2

Liferay Portal 4.3.1 - Instalação do ambiente de desenvolvimento no eclipse 3.3 (Europa)

19 de Setembro de 2007 às 22:08 por Ricardo Antunes · 5 Comentários ·

O Liferay Portal é uma solução empresarial de portal, open-source, desenvolvida em Java.

Precisei recentemente de instalar o ambiente de desenvolvimento. A documentação disponível refere-se à versão 4.2, está desactualizada e por isso contem bastantes incorrecções.

Como o processo não é lá muito intuitivo resolvi fazer uma lista dos passos necessários para concluir a instalação. Aqui fica:

1 - Instalar o Liferay Portal

  • Comecem por fazer o download de um dos bundles do Liferay disponíveis no endereço http://www.liferay.com/web/guest/downloads. Eu optei pela versão recomendada, ou seja, com o Tomcat.
  • Criem uma pasta no vosso filesystem para servir como base da instalação - $LIFERAY_HOME. Dêem-lhe um nome sugestivo como por exemplo ‘liferay-portal’.
  • Dentro desta pasta, criem mais duas pastas, uma para conter a instalação do bundle do Liferay e outra para servir como workspace do eclipse (ex: $LIFERAY_HOME/tomcat e $LIFERAY_HOME/workspace).
  • Descompactem o conteúdo do ficheiro do bundle para a pasta $LIFERAY_HOME/tomcat.

2 - Testar a instalação

  • Executem o ficheiro $LIFERAY_HOME/tomcat/bin/startup.bat (ou startup.sh).
  • Abram um browser e apontem para o endereço http://localhost:8080/. Se tudo estiver bem devem conseguir ver a página inicial do liferay-portal.
  • Testar o login com as seguintes credenciais:
    [user]: test@liferay.com
    [pass]: test

3 - Importar o projecto para o eclipse a partir do repositório SVN

  • Abram o eclipse.
  • Criem um novo workspace na pasta $LIFERAY_HOME/workspace - $WORKSPACE
    File > Switch Workspace > Other (indiquem a pasta $WORKSPACE e confirmem).
  • Importem o projecto a partir do SVN : File > Import > SVN > Projects from SVN.
    • Como URL indiquem o endereço https://lportal.svn.sourceforge.net/svnroot/lportal.
    • Seleccionem o projecto ‘portal‘ e dentro deste o ramo ‘trunk‘.
    • Seleccionem a opção ‘Check out as a project with the name specified:‘ e indiquem como nome do projecto ‘liferay-portal‘.
    • Deixem a opção ‘Checkout recursively‘ seleccionada.
    • Aproveitem agora para fazer uma pausa enquanto o eclipse faz o checkout do projecto. No final deverá aparecer o projecto ‘portal‘ no Project Explorer do eclipse.

    Nota: Se tiverem problemas no checkout voltem a repetir os passos anteriores mas desta vez desseleccionem a recursividade (Checkout recursively). O checkout termina rapidamente. Depois usem a opção team syncronize/update para obterem o projecto completo. Isto permite ter mais controlo sobre a operação pois, neste caso, é possível interromper o processo a qualquer altura e retomar posteriormente desde o ponto onde ficou.

  • Fechem o eclipse.

4 - Gerar e configurar o ambiente de desenvolvimento

Antes de dar inicio a este passo devem verificar se têm o ant 1.7.0 instalado. O build não funciona com versões anteriores.

O Liferay usa o Jikes como compilador default. Se o pretendem usar e ainda não o têm instalado, agora é a altura ideal para o fazerem ;-).
No meu caso, a natural preguiça levou-me a optar pelo habitual javac.

  • Abram uma consola de linha de comando na pasta $WORKSPACE/portal.
  • Criem o ficheiro build.$USER.properties, onde $USER deve ser substituido pelo vosso username na máquina ou, alternativamente, o nome da própria máquina, com o seguinte conteúdo:
    lp.ext.dir=$WORKSPACE/ext
    lp.eclipse.project.name=liferay-ext
    javac.fork=true
    javac.memoryMaximumSize=512m
    javac.compiler=modern
    (ignorem esta se estiverem a usar o jikes e não se esqueçam de substituir $WORKSPACE pelo path correspondente).
  • Executem o comando:
    ant clean start build-ext
  • Aproveitem para fazer mais uma pausa ;-) .
    Após a conclusão do build, deve existir uma pasta ext no vosso workspace.
  • Nesta pasta ($WORKSPACE/ext) criem o ficheiro
    app.server.$USER.properties onde, mais uma vez, $USER deve ser substituido pelo vosso username na máquina ou, alternativamente, o nome da própria máquina, e com o seguinte conteúdo :
    app.server.parent.dir= $LIFERAY_HOME
    app.server.tomcat.dir=${app.server.parent.dir}/tomcat

    (se estiverem a instalar um bundle diferente devem consultar os nomes das properties no ficheiro app.server.properties).
  • Caso não estejam a usar o jikes como compilador devem ainda criar o ficheiro build.$USER.properties, com o conteúdo:
    javac.compiler=modern
    javac.fork=true
    javac.memoryMaximumSize=256m
  • Ainda na mesma pasta ($WORKSPACE/ext), executem o comando:
    ant deploy.
  • Mais uma pausa (esta mais pequena).

5 - Importar o ambiente de desenvolvimento para o eclipse

  • Voltem a abrir o eclipse.
  • Importem o projecto ext (File > Import > Other > Existing Folder As New Project). Seleccionem a pasta $LIDERAY_HOME/ext.
  • Devem ter agora dois projectos no vosso workspace - portal e ext.
  • Seleccionem o projecto ext e acedam às suas properties.
  • Seleccionem a tabbuilders‘.
    • criem um novo builder (botão new).
    • Seleccionem o Ant Builder.
    • Nas propriedades do builder indiquem como buildfile o ficheiro build.xml que se encontra na pasta raiz do projecto ext ($WORKSPACE/ext).
    • De volta à tabbuilder‘ desseleccionem o ‘Java Builder‘. O eclipse pede uma confirmação: aceitem!
  • Se tiverem a opção de ‘auto-build‘ do eclipse activada, o eclipse deve dar inicio à compilação do projecto e… mais uma pausa.

6 - Configurar o ambiente de execução

  • Acedam novamente às properties do projecto ext.
  • Seleccionem a tabRun/Debug Settings‘.
  • No quadro ‘Create, manage and run configurations‘ seleccionem a opção ‘Run on Server‘ e depois o iconnew‘.
  • Seleccionem a configuração ‘tomcat‘ (ou outra, dependendo do bundle que estão a instalar).
  • Nas propriedades da configuração seleccionem a tab Arguments.
    • Substituam o valor dos argumentos
      -Djava.endorsed.dirs=${workspace_loc:ext/servers/tomcat/common/endorsed} -Dcatalina.base=${workspace_loc:ext/servers/tomcat}
      -Dcatalina.home=${workspace_loc:ext/servers/tomcat} -Djava.io.tmpdir=${workspace_loc:ext/servers/tomcat/temp}
      por
      -Djava.endorsed.dirs=${workspace_loc}/../tomcat/common/endorsed -Dcatalina.base=${workspace_loc}/../tomcat
      -Dcatalina.home=${workspace_loc}/../tomcat -Djava.io.tmpdir=${workspace_loc}/../tomcat/temp
    • No ‘Working Directory‘ indiquem o path para o directorio ‘bin’ do tomcat ($LIFERAY_HOME/tomcat/bin).
  • Ainda nas propriedades da configuração, seleccionem a tab Classpath
    • Removam a entrada que está marcada como erro (tools.jar).
    • Adicionem o bootstrap.jar do tomcat/bin como jar externo e removam a entrada existente para o mesmo ficheiro.
  • Confirmem as alterações.
  • Executem o projecto (Run). Devem ver o output do tomcat a ser dirigido para a consola do eclipse.

Confirmem que tudo está a funcionar seguindo os passos indicados no ponto 2. É claro que não precisam de executar o tomcat, o eclipse já tratou disso.

O próximo passo será configurar a base de dados, mas isso ficará para um outro post ;-)

Tags: eclipse · java · opensource · portal

5 respostas até ao momento ↓

  • Felipe Lira Rocha // Out 1, 2007 at 19:48

    Cara, muito boa sua iniciativa!

    Quero elogiá-lo, pois já faz um tempinho que estou procurando referências de como montar um ambiente de desenvolvimento para o Liferay, e o seu post é o melhor e mais completo que achei!

    Vou testar e provavelmente terei mais dúvidas. Por ora, obrigado.

  • Dirceu Sobrinho // Nov 21, 2007 at 22:52

    Muito Boa a iniciativa e muito bom o artigo!!
    pra quem ta iniciando com liferay e precisando montar ambiente de desenvolvimento é uma mão na roda.

    Entretanto, quando fui executar o comando:
    ant deploy , no fim do passo 4.

    deu um erro ao ler o arquivo build-parent.xml na linha 30 que é a seguinte.

    tou usando o bundle 5.5 tomcat, alterei o arg2 mas continuou dando erro.

    Att. Dirceu

  • Dirceu Sobrinho // Nov 22, 2007 at 16:55

    Refiz todo o processo, e continua dando o mesmo erro, que pode ser visto pelo link:

    http://img231.imageshack.us/my.php?image=consoleyc9.jpg

    Obrigado, pela Atenção!
    Dirceu

  • Ricardo Antunes // Nov 24, 2007 at 20:40

    @Dirceu:

    Pelo que pude perceber, nas alterações efectuadas ao repositório de versões do Liferay, a 17 de Novembro último, correspondendo à revisão 11161, foi removida a classe XSSUtil e foi eliminada a declaração da constante XSS_ALLOW da classe BaseModelImpl mas não foi alterada a classe ReportsEntryModelImpl, o que torna agora impossível a sua compilação.

    Quero com isto dizer que com a actual versão do Liferay presente no SVN não permite a criação do ambiente de desenvolvimento uma vez que nem todas as dependências estão satisfeitas.

    Obviamente que a melhor forma de resolver este problema é esperar que ele seja corrigido no repositório de versões mas se precisar de o compilar desde já pode tentar o seguinte:

    1 - Fazer download da ultima versão da classe XSSUtil ainda no SVN e gravá-lo na pasta
    $WORKSPACE/portal/util-java/src/com/liferay/util

    2 - Editar o ficheiro ReportsEntryModelImpl.java
    na pasta
    $WORKSPACE/portal/tools/ext_tmpl/ext-impl/src/com/ext/portlet/reports/model/impl

    e alterar a linha 29 de
    public static boolean XSS_ALLOW_BY_MODEL = GetterUtil.getBoolean(PropsUtil.get("xss.allow.com.ext.portlet.reports.model.ReportsEntry"),XSS_ALLOW);
    para
    public static boolean XSS_ALLOW_BY_MODEL = false;

    Depois disto já é possível continuar a partir do ponto 4 do artigo (Gerar e configurar o ambiente de desenvolvimento) sem problemas.

    Espero ter ajudado.

  • Dirceu Sobrinho // Nov 26, 2007 at 19:00

    Valeu Ricardo,

    Agora o ambiente de execução aqui instalado está funcionando perfeitamente.

    Muito Obrigado pela Ajuda!

Deixe um comentário

XHTML: Pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>