Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Extension incorrectly runs cached `.class` file from another class of same name with no `package`

Aberta
#1,587 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
45/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Estagnada
Stack de tecnologia
java, typescript, vscode

Direção de pesquisa

Reproduza o problema executando folder1/Main.java e depois folder2/Main.java, incluindo o layout ./Main.java e ./folder/Main.java. Rastreie como a extensão seleciona classes compiladas em cache; considera-se concluído quando cada Main.java não relacionado executa sua própria saída, inclusive depois que o outro arquivo já tiver sido executado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

ai-triaged bug

Bug report

Suppose there is a file structure:

folder1/
    Main.java
folder2/
    Main.java
// folder1/Main.java
public class Main {
    public static void main(String[] args) {
        System.out.println("Main 1");
    }
}
// folder2/Main.java
public class Main {
    public static void main(String[] args) {
        System.out.println("Main 2");
    }
}

No package statements; the projects are not connected at all.

When folder1/Main.java is run first, it gives the correct output Main 1.
But if folder2/Main.java is then run, it gives the wrong output of Main 1 instead of Main 2; the first built file is run instead.
folder1/Main.java 'shadows' folder2/Main.java, since the class name is the same and there are no package statements.
Another file structure that causes this is ./Main.java, ./folder/Main.java

This bug is inconvenient when multiple different, unrelated Java projects are in the same workspace.

Linguagem predominante
TypeScript
Estrelas
591
Forks
429
Merge médio
1d 1h
PRs com merge (30d)
20

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de microsoft/vscode-java-debug

Todas as issues de microsoft/vscode-java-debug

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.