redhat-developer / redhat-developer/vscode-java

"missing required Java project" error when opening android maven projects

Aperta
#3,092 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

android
Lingua principale
TypeScript
Stelle
2.3k
Fork
546
Merge medio
20h 1m
PR unite (30g)
11

Descrizione

Orginally reported by @Fr0stM0urne on https://github.com/microsoft/vscode-java-debug/issues/1329:

Trying to debug a java project (FlowDroid) using vscode. The project is built using maven. Getting this error when using "Run Debug" on the main function of a java file in the project: Project 'soot-infoflow-summaries' is missing required Java project: 'soot'

Tried cleaning java workspace and restarting java server but it did not fix the issue. These are the error logs of vscode java server:

!ENTRY org.eclipse.jdt.ls.core 4 0 2023-04-17 17:43:48.374
!MESSAGE Error occured while building workspace. Details: 
 message: The project cannot be built until build path errors are resolved; code: 0; resource: ~/FlowDroid/soot-infoflow;
 message: Project 'soot-infoflow' is missing required Java project: 'soot'; code: 964; resource: ~/FlowDroid/soot-infoflow;
 message: The project was not built since it depends on soot-infoflow, which has build path errors; code: 0; resource: ~/FlowDroid/soot-infoflow-android;
 message: The project cannot be built until its prerequisite soot-infoflow-android is built. Cleaning and building all projects is recommended; code: 0; resource: ~/FlowDroid/soot-infoflow-cmd;
 message: The project was not built since it depends on soot-infoflow, which has build path errors; code: 0; resource: ~/FlowDroid/soot-infoflow-integration;
 message: Project 'soot-infoflow-summaries' is missing required Java project: 'soot'; code: 964; resource: ~/FlowDroid/soot-infoflow-summaries;
 message: The project cannot be built until build path errors are resolved; code: 0; resource: ~/FlowDroid/soot-infoflow-summaries;
Steps To Reproduce
  1. Install sdkman using curl -s "https://get.sdkman.io" | bash
  2. Install maven using sdk install maven 3.8.7
  3. Clone FlowDroid using git clone https://github.com/secure-software-engineering/FlowDroid.git
  4. Set ANDROID_JARS environment variable. (See FlowDroid git repo for details)
  5. Install FlowDroid using mvn -DskipTests install. (See Flowdroid git repo for details)
  6. Open FlowDroid in VS code and go to soot-infoflow-cmd/src/soot/jimple/infoflow/cmd/MainClass.java.
    Run/Debug the main function
Environment
  • Operating System: Ubuntu 22.04.2 LTS x86_64
  • JDK version: 1.8
  • Visual Studio Code version: 1.77.3
  • Java extension version: v0.25.10
  • Java Debugger extension version: v0.49.1
Additional Information:

The missing project soot is located in ~/.m2/repository/org/soot-oss

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con la riproduzione segnalata di FlowDroid e con gli errori relativi all’importazione del progetto Java e al percorso di build nei log del server del linguaggio vscode-java. Riproduci il problema aprendo soot-infoflow-cmd/src/soot/jimple/infoflow/cmd/MainClass.java ed eseguendo o sottoponendo a debug la relativa funzione main dopo la build Maven. Il lavoro è completato quando l’errore relativo alla mancanza del progetto Java richiesto è stato risolto e la funzione main può essere eseguita o sottoposta a debug.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, vscode
Ambito
developer-experience, tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.