[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"problem-detail-error-mkdir-cannot-create-directory-root-permission-denied":3},{"stack":4,"error":5,"seoName":6,"seoStack":7,"seo":8,"breadcrumb":10,"titlePrefix":17,"titleAccent":18,"lead":19,"facts":22,"why":37,"log":55,"fix":82,"engine":101,"related":109,"pitch":132},"java","mkdir-cannot-create-directory-root-permission-denied","Java build failed because a required Git submodule was missing","Java",{"description":9},"Learn what causes Java build failed because a required Git submodule was missing, how PanelAlpha Engine responds to it during deployment.",[11,14,16],{"label":12,"href":13},"App Installations","\u002Fapps",{"label":7,"href":15},"\u002Fapps\u002Fstacks\u002Fjava",{"label":6},"Java build failed because ","a required Git submodule was missing",[20],{"text":21},"Error recorded 57 times in PanelAlpha Engine deploys on Java. The deploy log below is the recorded failure output.",[23,28,31,33],{"label":24,"value":25,"tone":26,"tooltip":27},"Type","Error","err","An error that occurred in the deployed application. It is not necessarily a PanelAlpha Engine error, but we keep working on improvements so you run into fewer of them.",{"label":29,"value":30},"Seen","57 times · 2 variants",{"label":32,"value":7},"Where",{"label":34,"value":35,"tooltip":36},"Status","Observed","Our team will look into this soon, verify the cause and try to fix it in an upcoming release.",{"heading":38,"body":39},"Why it happens",[40,42,45,47,49,51,53],{"text":41},"The repository’s ",{"text":43,"code":44},"server-ee",true,{"text":46}," submodule could not be cloned because Git had no credentials for ",{"text":48,"code":44},"code.onedev.io",{"text":50},". Maven then ran with that directory missing and failed while processing the parent POM. A separate ",{"text":52,"code":44},"\u002Froot",{"text":54}," permission warning appeared during the build, but the missing module is the direct Maven error.",{"heading":56,"block":57},"What the log looks like",{"header":58,"lines":59},"Deploy log",[60,64,68,72,74,78],{"segments":61},[62],{"text":63},"Cloning into '\u002Fhome\u002F\u003Caccount>\u002Fproject\u002Fserver-ee'...",{"segments":65},[66],{"text":67},"fatal: could not read Username for 'https:\u002F\u002Fcode.onedev.io': No such device or address",{"segments":69},[70],{"text":71},"Failed to clone 'server-ee' a second time, aborting",{"segments":73,"blank":44},[],{"segments":75},[76],{"text":77},"[ERROR] Child module \u002Fapp\u002Fserver-ee\u002Fpom.xml of \u002Fapp\u002Fpom.xml does not exist",{"segments":79},[80],{"text":81},"[ERROR] The build could not read 1 project",{"heading":83,"steps":84,"block":98},"How to fix it",[85],[86,88,89,91,93,95,96],{"text":87},"Provide non-interactive credentials for the ",{"text":48,"code":44},{"text":90}," submodule, or remove\u002Fupdate the submodule reference if it is not required. Confirm that ",{"text":92,"code":44},"server-ee\u002Fpom.xml",{"text":94}," exists in the checkout before deploying. Also verify that the Maven cache volume is writable by the build user to remove the ",{"text":52,"code":44},{"text":97}," permission warning.",{"header":99,"lines":100},"Fix by hand",[],{"heading":102,"body":103,"block":106},"How PanelAlpha Engine solves it",[104],{"text":105},"The Engine should fail the checkout when a required submodule cannot be fetched, rather than continuing to build an incomplete tree. It should also report the Maven cache permission warning separately instead of surfacing it as the final failure message.",{"header":107,"lines":108},"",[],{"heading":110,"items":111},"Apps affected",[112,116,120,124,128],{"title":113,"badge":114,"tone":26,"href":115},"server","21 occurrences","\u002Fapps\u002Ftheonedev\u002Fonedev",{"title":117,"badge":118,"tone":26,"href":119},"thingsboard","18 occurrences","\u002Fapps\u002Fthingsboard\u002Fthingsboard",{"title":121,"badge":122,"tone":26,"href":123},"xwiki-platform","9 occurrences","\u002Fapps\u002Fxwiki\u002Fxwiki-platform",{"title":125,"badge":126,"tone":26,"href":127},"tigase-server","8 occurrences","\u002Fapps\u002Ftigase\u002Ftigase-server",{"title":129,"badge":130,"tone":26,"href":131},"zstack","1 occurrence","\u002Fapps\u002Fzsvirt\u002Fzsvirt",{"heading":133,"body":134,"footNote":135,"docsLabel":136,"docsHref":137},"Try PanelAlpha Engine yourself.","The easiest way to turn your server into a safe, controlled environment for your AI agent. Deploy, manage and maintain any project from Claude Code, Cursor, Codex or any other MCP client. Open source under Apache 2.0, free to run.","Requires Ubuntu 24.04 or 26.04 · 2 GB RAM · 1 CPU","Read the documentation","https:\u002F\u002Fpanelalpha.com\u002Fdocs"]