redhat-developer / redhat-developer/vscode-java
"missing required Java project" error when opening android maven projects
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.3k
- Forks
- 546
- Avg merge
- 20h 1m
- Merged PRs (30d)
- 11
Description
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
- Install sdkman using curl -s "https://get.sdkman.io" | bash
- Install maven using sdk install maven 3.8.7
- Clone FlowDroid using git clone https://github.com/secure-software-engineering/FlowDroid.git
- Set ANDROID_JARS environment variable. (See FlowDroid git repo for details)
- Install FlowDroid using mvn -DskipTests install. (See Flowdroid git repo for details)
- Open FlowDroid in VS code and go to soot-infoflow-cmd/src/soot/jimple/infoflow/cmd/MainClass.java.
Run/Debug the main functionEnvironment
- 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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reported FlowDroid reproduction and the Java project import/build-path errors from the vscode-java language server logs. Reproduce by opening soot-infoflow-cmd/src/soot/jimple/infoflow/cmd/MainClass.java and running or debugging its main function after the Maven build. Done means the missing required Java project error is addressed and the main function can be run or debugged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, vscode
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100