And even if, you should not use a Copy task there.
The task would have the complete libs directory as output and thus is unclean.
That is bad as it overlaps with output from other tasks and has files as output that are not really outputs of the task and it depends on when the task is called which files count as outputs.
This hurts up-to-date checks (and if the task were cacheable would produce wrong cache entries).
Better use copy { ... } and configure the one file you have as input and the one file you have as output properly, so that up-to-date checks work properly.
It is only used for development, there we use several application servers with different versions and configurations.
Whenever we install a new one, we just link from the appserver lib directory to the libs of the build.