redhat-developer / redhat-developer/vscode-server-connector
Support of Maven Multi Module Project
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 59
- Forks
- 29
- Avg merge
- 19m
- Merged PRs (30d)
- 1
Description
I have the same problem as asked in #562, but this issue was closed without further information. My multi module maven project has the following structure:
Project
- database
ejb packaged project for communicating with the database holding hibernate classes ... - common
ejb packaged project with common code like StringUtil, DateUtil ... - admin
war project (JSF / PrimeFaces admin-interface) - frontend
war project (JSF frontend for public users) - api
war project offering REST-APIs for external apps - ear
maven ear project bundling admin, frontend and api to a single ear file. All war projects are using the common / database project.
When I open the project in Eclipse I can deploy the ear project and everything is deployed in a folder called e.g. "project.ear":

I tried to use this plugin for VS Code but I am not sure how I should deploy the ear correctly. After some testing I have this setup:
deployables": {
"c:\\Temp\\Project\\ear\\target\\ear-1.0.0-SNAPSHOT": {
"label": "c:\\Temp\\Project\\ear\\target\\ear-1.0.0-SNAPSHOT",
"path": "c:\\Temp\\Project\\ear\\target\\ear-1.0.0-SNAPSHOT",
"options": {
"option": {
"deployment.output.name": "project.ear"
}
}
}
}
The server starts and everything is working again, but I have a main problem compared to Eclipse: Whenever I change a file (e.g. index.html in admin.war) nothing is redeployed. The deployment is done as compiled files:

When I manually call "Publish Server (Incremental)" the files are undeployed and redeployed. This takes very long time and is not necessary for debugging.
So far I could not find any documentation showing how a project like this should be deployed. For Eclipse it is very easy and no documentation is needed as it is straight forward. But here I am having trouble to understand what needs to be done.
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 deployables configuration and the Publish Server (Incremental) command described in the issue, then reproduce the Maven multi-module layout with the nested admin.war and ear projects. Compare file changes with the current full undeploy/redeploy behavior; done means changes in a module such as admin.war are reflected without a full redeployment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, vscode
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100