What happens: IntelliJ, in step 6, uses the already running gradle daemon process to execute your application. Run IntelliJ and run your app as a gradle project through IntelliJ, and voila!.macOS will prompt to give permissions, open system preferences and give java permission.Run you application from the command line using Gradle.Be sure all Gradle daemons are stopped (or if you haven't run Gradle yet, then be sure the next step is the first time gradle runs since you last rebooted your computer).Remove all occurrences of IntelliJ and Java from Accessibility permissions in macOS system preferences -> Security and Privacy.Use Gradle to build your project, IntelliJ recognizes Gradle projects and interacts nicely with them.This child process needs the permissions. The child process is the java command line and not the same java as is bundled with IntelliJ. IntelliJ (which is a Java application) is running a child process to start your program. You can give IntelliJ all the permissions you want, but java will never be able to move the cursor when the permissions are given to IntelliJ. It seems macOS incorrectly detects the attempt to move the mouse as coming from IntelliJ, when in fact, it's coming from java. Now when I run my program, the robot command moves my mouse. After "checking" STS, I clicked the Lock icon at the bottom left again. I "checked" STS (you will "check" IntelliJ). I put in my password, and I am now allowed to "check" STS. I clicked on the icon, and a prompt came up asking for my password (I have some level of sysadmin privileges). There's a Lock icon at the bottom left of the window. And, all of these are grayed out so that I can't change any of the checks. Both BetterSnapTool and Ke圜astr are checked. I see STS listed along with BetterSnapTool and Ke圜astr. This lists all the programs that can "control your computer". In System Preferences (the "gear" icon), under Security & Privacy, click the Privacy tab toward the top, then choose Accessibility on the left. You (and I) have to tell MacOS that it's ok for our Java program to control the mouse. I tried to click the "allow" checkbox, but it wouldn't let me. It was asking me something about giving permission for my program to control the screen or system or something. I noticed a warning or informational type of message from MacOS while I was running my code. I have a statement "robot.mouseMove(100, 100) " and the mouse doesn't move at all.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |