Java/pt-br

Java é Sun Microsystems]] que utiliza um runtime para executar aplicações Java em diversas plataformas. É uma escolha popular para desenvolvedores que desejam criar aplicações multiplataforma.

Visão Geral
Java é uma linguagem de programação desenvolvida pela Sun Microsystems. A linguagem é orientada a objetos e projetada para rodar em várias plataformas sem a necessidade de recompilar o código em cada uma delas. Embora Java possa ser compilado como um programa nativo, a maior parte de sua popularidade pode ser atribuída à sua portabilidade, junto com outras características, como gerenciamento automático de memória. Para tornar a independência de plataforma possível, o compilador do Java compila o código Java para uma representação intermediária, chamada "Java bytecode" que roda em uma JVM (Java Virtual Machine) e não diretamente no sistema operacional.

Para executar o Java bytecode, é preciso ter o JRE (Java Runtime Environment) instalado. O JRE fornece bibliotecas principais, uma Máquina Virutal Java dependente da plataforma, plugins para browsers, entre outras coisas. O JDK (Java Development Kit) adiciona ferramentas de programação, como um compilador de bytecode e um debugger.

Linguagens JVM
A Máquina Virtual Java não é utilizada exclusivamente pela linguagem Java. Várias linguagens de programação utilizam a plataforma Java e rodam na JVM. Exemplos incluem: Clojure, Apache Groovy, Kotlin ou Scala.

As escolhas
Gentoo fornece vários Java Runtime Environments (JREs) e Java Development Kits (JDKs). As opções atuais incluem:

Instalando o JRE/JDK
Para instalar o JDK padrão do perfil, execute:

Para instalar o JRE padrão do perfil, execute:

Configurando um JRE headless
Sometimes there is no need for a full JRE with all the capabilities of java. Using java on a server often does not require any GUI, graphical, sound or even printer related features. To install a simplified (sometimes also referred to as headless) JRE, a few USE flags need to be changed for the selected JRE flavor.

Depending on the current Gentoo profile, this might already be the case. As usual, the USE flag settings that are applicable to a particular package can be checked by running in pretend mode:

Visão Geral
Gentoo tem a capacidade de ter múltiplos JDKs e JREs instalados sem causar conflitos.

Configurando uma máquina virtual padrão
Executando o comando com a opção   irá produzir uma lista de todos os JREs a JDKs instalados no sistema. Por exemplo:

O * indica que esta é a JVM ativa atual(system-vm ou user-vm quando configurada). O nome entre colchetes ([]) é o identificador ou ID dessa VM específica. O identificador ou o número para pode ser usado para definir a VM. O texto seguinte fornece um exemplo de como configurar a VM do sistema.

Método alternativo: selecione a VM pelo número identificador:

Configurando um CLASSPATH padrão
pode ser utilizado para configurar a CLASSPATH padrão a nível de sistema, como também a CLASSPATH a nível de usuário.

First, list available Java libraries installed on the system to possibly put in the CLASSPATH variable. Here is an example of output:

Again, the names in brackets ([]) are the IDs to pass to. Here is an example:

Atualize o ambiente realizando o logout, e em seguida o login ou executando.

Para usuários, irá criar o arquivo, que deve ser carregado (sourced) no perfil shell.

If desiring a system wide or user default classpath add something like the following to the shell's profile. This is advised against:

Java browser plugins
For those who need a Java-enabled browser for a specific use case, there is e.g. /  available in the   overlay, which has long-term support for NPAPI and thus Java plugins up to JDK 8.

Configurando as USE flags
Para mais informações referentes a USE flags, acesse o capítulo USE flags do Manual Gentoo.

USE flags

 * The flag adds support for Java in a variety of programs;
 * The flag adds support for Mozilla-like browsers (including Firefox). This is needed for viewing Java applets in a Mozilla-like browser;

Following USE flags go in JAVA_PKG_IUSE, see for details and other specific USE flags of Java:


 * The flag installs a zip of the source code of a package. This is traditionally used for IDEs to 'attach' source to the libraries that are being use;
 * For Java packages, the flag will build API documentation using javadoc.

Minecraft launcher errors

 * A specific error in which  crashed after a few seconds, throwing "Alarm" and "SaveToBuffer failed" error was solved by setting  the USE flag   for.


 * When executing  the following error was produced:

This was solved by executing  with the following option:

Veja também

 * Java Developer Guide
 * Project:Java/Why_build_from_source
 * Project:Java/Getting_Involved

Recursos externos

 * Configuring Java per directory with jEnv
 * The gentoo-java, gentoo-user, and gentoo-dev mailing list archives
 * and on IRC
 * Java 7 and bootstrapping icedtea on the Gentoo forums

Mais informações podem ser encontradas offline:



Para sugestões ou dúvidas em relação a esse document, por favor envie um e-mail ao time Java Gentoo: