public void verifyWritableDeployDirectory() throws IOException {
    try {
      if (deployDirectory.canWrite()) {
        return;
      }
    } catch (SecurityException ex) {
      throw new IOException("Unable to write to deploy directory", ex);
    }

    throw new IOException(
        "Unable to write to deploy directory: " + deployDirectory.getCanonicalPath());
  }
Make sure that the deploy directory is writable.

@throws IOException If the directory isn't writable
geode-deployment/geode-deployment-legacy/src/main/java/org/apache/geode/deployment/internal/JarDeployer.java