netbeans unable to copy context xml
file from AppData\Local\Temp\
folder to tomee
's conf\Catalina\localhost
when deploy.
already tried:
deploy to tomee 7.0.X is fine but tomee 8.0.0 fail.
fatal error in stderr.log
:
03-Oct-2019 16:31:22.358 fatal [http-nio-9200-exec-6] org.apache.catalina.startup.ExpandWar.copy Error copying [C:\Users\xxx\AppData\Local\Temp\context2716699461818377726.xml] to [D:\Tomee\apache-tomee-plus-8.0.0\conf\Catalina\localhost\myApp.xml] java.io.FileNotFoundException: C:\Users\xxx\AppData\Local\Temp\context2716699461818377726.xml (Access is denied.) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.(FileInputStream.java:138) at org.apache.catalina.startup.ExpandWar.copy(ExpandWar.java:276)
This problem only occurs when Tomee is running as a Windows service.
I tested version 7.0.4~8.0.0 to get the following conclusions.
The Tomee runs the service with the LocalSystem account before version 7.0.6.
Starting with version 7.0.6, the service is run with the LocalService account, so that the permissions are insufficient.
The following two ways can solve the issue:
- Give the LocalService account access to the directoryAppData\Local\Temp\
.
- Specifying the Tomee runs the service with the LocalSystem account when installing the service.
service install %serviceName% --service-user LocalSystem