Use the built-in setSize() in Selenium:
aDriver.manage().window().setSize(new Dimension(width, height));
It works like a champ. I've used it for Firefox, Chrome (even headless), and Edge.
Adding full maximize code
public static void setMaximize(boolean maximize) {
if (maximize) {
if (getHeadless()) {
aDriver.manage().window().setSize(new Dimension(1600, 900));
} else if (getDevice() == null) {
try {
aDriver.manage().window().maximize();
} catch (WebDriverException e) {
String name = getDriver();
if (name == null) {
System.out.println("Browser has not been set");
} else {
System.out.println(name + " does not support maximize");
}
}
}
}
}