ในกรณีของฉันมันเป็นปลั๊กอิน Maven Failsafe ที่ทำให้เกิดการขโมยโฟกัสของหน้าต่างที่น่ารำคาญของ ForkedBooter และการตั้งค่าJAVA_TOOL_OPTIONSตัวแปรใน.bashrcไม่ได้ช่วยอะไร
การแก้ไขนี้ใช้กับทั้ง Failsafe และ Surefire (แม้ว่าในกรณีของฉัน Surefire ไม่ได้ขโมยโฟกัส)
ในของคุณpom.xmlเพิ่ม<argLine>-Djava.awt.headless=true</argLine>บรรทัดภายใน<configuration>สำหรับปลั๊กอินที่ไม่ปลอดภัย (และ / หรือ) surefire
มันจะมีลักษณะเช่นนี้:
<!-- this is inside your <project><build><plugins> block -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven.surefire.plugin.version}</version>
    <configuration>
      <includes>
        <include>**/unit/**/*Test*.java</include>
      </includes>
      <!-- prevent the annoying ForkedBooter process from stealing window 
        focus on Mac OS -->
      <argLine>-Djava.awt.headless=true</argLine>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>${maven.failsafe.plugin.version}</version>
    <configuration>
      <!-- prevent the annoying ForkedBooter process from stealing window 
        focus on Mac OS -->
      <argLine>-Djava.awt.headless=true</argLine>
      <includes>
        <include>**/integration/**/*Test*</include>
      </includes>
    </configuration>
    <executions>
      <execution>
        <goals>
          <goal>integration-test</goal>
          <goal>verify</goal>
        </goals>
      </execution>
    </executions>
  </plugin>