--- aliases: tags: - maturity/🌱 date: 2024-04-07 zero-link: - "[[../../meta/zero/00 Π‘Π½ΠΈΠΏΠ΅Ρ‚Ρ‹ для Java|00 Π‘Π½ΠΈΠΏΠ΅Ρ‚Ρ‹ для Java]]" parents: linked: link: https://struchkov.dev/blog/ru/java-debugging-annotation-processor/ --- Π― столкнулся с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π΄Π΅Π±Π°Π³Π° annotation processor, ΠΊΠΎΠ³Π΄Π° писал Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ со своими аннотациями ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΊ Π½ΠΈΠΌ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ происходит Π½Π° этапС компиляции. ## 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Remote JVM Debug Configuration Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ: β€œRemote JVM Debug”. ![](../../meta/files/images/Pasted%20image%2020240407184559.png) Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ β€œAttach to remote JVM” ΠΈ любой доступный ΠΏΠΎΡ€Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 8000. ![](../../meta/files/images/Pasted%20image%2020240407184611.png) ## 2. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ процСсс сборки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ваш ΠΏΠΎΡ€Ρ‚ НаТмитС `Ctrl+Shift+A`Β ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ β€œEdit Custom VM Options…” Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ строку `-Dcompiler.process.debug.port=8000`Β ΠΈΒ ==пСрСзапуститС IDEA.== ![](../../meta/files/images/Pasted%20image%2020240407184626.png) ## 3. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ β€œDebug build process” НаТмитС `Ctrl+Shift+A`Β ΠΈ ΠΏΡƒΠ½ΠΊΡ‚ β€œDebug build process”. > [!WARNING] > Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ этот шаг ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ пСрСзапускС IDEA. ## 4. Π”Π΅Π±Π°ΠΆΠΈΠΌ Π‘Π½Π°Ρ‡Π°Π»Π° установитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ. ![](Pasted%20image%2020240407184705.png) Для запуска вашСго ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ пСрСсобСритС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: `Build -> Rebuild Project`.Β ==ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° Build Project ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ.== ΠŸΡ€ΠΎΡ†Π΅ΡΡ сборки приостановится, ΠΈ Π²Ρ‹ смоТСтС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ: ![](../../meta/files/images/Pasted%20image%2020240407184716.png) Π’Π΅ΠΏΠ΅Ρ€ΡŒ запуститС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π²Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Debug (Shift+F9). Javac Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ. IDEA Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° установлСнной Π²Π°ΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠ΅ останова. ![](../../meta/files/images/Pasted%20image%2020240407184727.png) На этом всС, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ваши ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ.