Atualizado: 28/09/2025

Este conteúdo é original e não foi gerado por inteligência artificial.

Declaração de Dependências entre Módulos Java

Módulos podem depender de outros para utilizar suas funcionalidades. Para exemplificar, vamos partir de um projeto com um módulo simples, cuja estrutura é a seguinte:

C:\java
└─── demo
    ├─── com
    │   └─── programicio
    │       └─── hello
    │           └─── Hello.java
    └─── module-info.java

O código no arquivo Hello.java exibirá uma mensagem em uma janela gráfica, utilizando a biblioteca Swing.

package com.programicio.hello;

import javax.swing.JOptionPane;

public class Hello {
    public static void main(String[] args) {
        JOptionPane.showMessageDialog(null, "Hello Demo Module!");
    }
}

Para exibir a mensagem, o código utiliza o método estático showMessageDialog da classe JOptionPane. Para que esta classe seja reconhecida, ela é importada no início do arquivo. Contudo, como estamos trabalhando com um sistema modular, apenas importar a classe ou o pacote não é suficiente. É preciso indicar ao nosso módulo que ele deve utilizar o módulo onde a classe JOptionPane está definida.

Como saber em qual módulo uma determinada classe está localizada? Para as classes que fazem parte do JDK, a melhor fonte é a documentação oficial do Java. No início da descrição da classe, geralmente é indicado a qual módulo ela pertence.

Busca de Módulos

A documentação informa que a classe JOptionPane pertence ao módulo java.desktop. Com essa informação, podemos indicar ao nosso módulo que precisamos utilizar o java.desktop. Para isso, o arquivo module-info.java é modificado da seguinte forma:

module demo {
    requires java.desktop;
}

Após a diretiva requires, é especificado o nome do módulo do qual o nosso módulo depende. Se o módulo utilizasse várias outras dependências, cada uma delas seria indicada com sua própria diretiva requires.

Em seguida, o módulo pode ser compilado e executado. Após a execução, será exibida uma janela gráfica com a mensagem.

Requires em módulos

Resumo

  • Dependências de Módulos: Módulos podem precisar de outros para funcionar.
  • A Diretiva requires: É usada no module-info.java para declarar uma dependência.
  • Documentação: A documentação oficial do Java é a melhor forma de descobrir a qual módulo uma classe do JDK pertence.
  • Exemplo java.desktop: Este módulo contém as classes para interfaces gráficas, como o JOptionPane da biblioteca Swing.
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com