Mostrando postagens com marcador java. Mostrar todas as postagens
Mostrando postagens com marcador java. Mostrar todas as postagens

segunda-feira, 4 de maio de 2009

Java 7 Sun no Jaunty

Roteiro de Instação do Java 7 Sun

A instalação do Ubuntu torna o OpenJDK padrão para JRE, plugins e Web Start. Diversos programas, no entanto, são desenvolvidos para o java da Sun, que não é "open source".

1) (OPCIONAL) Desinstalar completamente o OpenJDK e Sun Java.

2) Baixar o JDK do site da Sun. Selecionar arquitetura Linux x64. Executar:

sudo bash jdk-7-ea-bin-b57-linux-x64-30_apr_2009.bin
2.1) Mover a pasta recém-criada para "/usr/lib/jvm". Criar o link "java-7-sun" da pasta movida em /usr/lib/jvm .
cd /usr/lib/jvm
ln -s jdk1.7.0/ java-7-sun

3) Editar:
sudo gedit /etc/jvm
3.1) Adicionar:
/usr/lib/jvm/java-7-sun
/usr/lib/jvm/java-6-sun
/usr/lib/jvm/java-gcj
/usr/lib/jvm/ia32-java-1.5.0-sun
/usr/lib/jvm/java-1.5.0-sun
/usr
4) O comando java não está disponível, ainda. Para isso:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/bin/java 1

sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.0/bin/javaws 1
4.1) Para listar as alternativas instaladas:
sudo update-alternatives --config java
4.2) Listar JVMs disponíveis:
update-java-alternatives -l

4.3) Configurar uma particular alternativa:
sudo update-java-alternatives -s java-7-sun
5) Para habilitar o plugin no Firefox:

sudo ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/
5.1) Reiniciar o Firefox e indicar "/usr/bin/javaws" quando do download de programas.

Variáveis de Ambiente

sudo geany /etc/environment
Adicionar as seguintes linhas:

JAVA_HOME=/usr/lib/jvm/java-7-sun
JRE_HOME=/usr/lib/jvm/java-7-sun/jre
export PATH="${JAVA_HOME}/bin:${PATH}"
Fontes
  • http://tp0x45.blogspot.com/2009/03/openjdk-issue-in-ubuntu-810-64-bit.html
  • http://ubuntuforums.org/showthread.php?t=1113039

quinta-feira, 25 de setembro de 2008

Uso de JRuby em Java

Tecnologias de Integração Java-JRuby

A integração com Java 6 pode ser feita pelo uso:
  1. da API JSR223 (https://scripting.dev.java.net/)
  2. do Bean Scripting Framework (BSF) -- não tratado neste artigo

Integração pela API JSR223

As versões 1.1rc3 e 1.1.x do JRuby sobre Java 6 devem utilizar alguma máquina JRuby. A instalação envolve:
  1. Baixar o jruby-engine-1.1.5.zip (última versão da máquina)
  2. Descompactar em algum diretório (ex.: ~/lib/jsr223/jruby-engine-1.1.5)
  3. Incluir o ~/lib/jsr223/jruby-engine-1.1.5/lib/jruby-engine.jar na rota de busca do ambiente Java
  4. Copiar o jruby.jar para o diretório ~/lib/jsr223/jruby-engine-1.1.5/lib
  5. Incluir este jruby.jar na rota de busca do ambiente Java

Lista de Máquinas Instaladas

static ScriptEngine obter() {
        // http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/
        String nome = "ECMAScript";
        nome = "ruby";
        ScriptEngine engine = null;
        ScriptEngineManager mgr = new ScriptEngineManager();
        List scriptFactories = mgr.getEngineFactories();
        for (ScriptEngineFactory factory : scriptFactories) {
            String langName = factory.getLanguageName();
            String langVersion = factory.getLanguageVersion();
            if (langName.equals(nome) && langVersion.equals("1.8.6")) {
                engine = factory.getScriptEngine();
                break;
            }
        }
        return engine;
    }


Execução de Código Ruby

static void executarCodigoRuby(ScriptEngine rubyEngine) {
        try {
            rubyEngine.eval("puts 2 + 3");
        } catch (ScriptException e) {
            e.printStackTrace();
        }
    }


Troca de Dados entre Java e JRuby

static void acessarContexto(ScriptEngine rubyEngine) {
        ScriptContext context = rubyEngine.getContext();
        context.setAttribute("label", new Integer(4), ScriptContext.ENGINE_SCOPE);
        try {
            rubyEngine.eval("puts 2 + $label", context);
        } catch (ScriptException e) {
            e.printStackTrace();
        }
    }


Referências
  • https://scripting.dev.java.net/
  • http://wiki.jruby.org/wiki/Java_Integration