V5和V7早期iMC版本在去部署了portal组件后再次部署时会报错,多次尝试均无法成功,并且页面提示查看对应deploy日志信息,如下图所示:

portal组件重新部署时失败,多次尝试均不成功。
打开报错页面提示的日志文件,可以看到后台详细的执行过程,发现部署时iMC后台在访问\Program Files\iMC\apache\bin\httpd.exe文件时发生异常,进而部署失败。如下所示:
2016-06-07 16:34:27 [ERROR] [SwingWorker-pool-2-thread-3] [com.h3c.imc.deploy.tasks.UnzipFileTask$a::a(336)] Unzip file error
java.io.FileNotFoundException: Z:\Program Files\iMC\apache\bin\httpd.exe (另一个程序正在使用此文件,进程无法访问。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
at java.io.FileOutputStream.<init>(FileOutputStream.java:145)
at com.h3c.imc.deploy.tasks.UnzipFileTask$a.a(UnzipFileTask.java:291)
at com.h3c.imc.deploy.tasks.UnzipFileTask$a.doInBackground(UnzipFileTask.java:170)
at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at javax.swing.SwingWorker.run(SwingWorker.java:316)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
2016-06-07 16:34:27 [ERROR] [Thread-41] [com.h3c.imc.deploy.dma.wizard.DeployingPanelDescriptor$c::run(346)] Task execute failed
进到目录下发现此文件为一个exe文件,所以应该是已经在执行了,部署时再次执行时报错导致。
打开服务器的任务管理器,在“进程”一列找到名为httpd.exe的进程,将其右键手动停止掉即可。
然后再重新部署组件,操作成功。
此为iMC较老版本处理机制问题,后续版本已经优化解决。
UAM其他组件部署时也有可能出现此报错,处理方法与上文描述一致。