1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Компилирование WorldGuard из исходников

Тема в разделе "Разработка плагинов для новичков", создана пользователем intervent, 1 июл 2023.

Статус темы:
Закрыта.
  1. Автор темы
    intervent

    intervent Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    adamant
    Столкнулся с такой проблемой, что при компилировании плагина выдает какую-то ошибку предполагаю связанную с кодировкой символов в файле "BukkitWorldConfiguration.java" и в файлах "WorldGuardPlayerListener.java" и "WorldGuardWorldListener.java.". Буду благодарен, если поможете разобраться как решить эту ошибку
    Код:
    > Task :worldguard-bukkit:javadoc FAILED
    C:\Users\RICH\Desktop\WorldGuard-rus-by-DarkFort\worldguard-bukkit\src\main\java\com\sk89q\worldguard\bukkit\BukkitWorldConfiguration.java:397: error: unmappable character (0x98) for encoding windows-1251
                        ? "(" + worldName + ") ╨Я╨╛╨┤╨╢╨╕╨│╨░╨╜╨╕╨╡ ╨┤╨╕╨╜╨░╨╝╨╕╤В╨░ ╨Ч╨Р╨С╨Ы╨Ю╨Ъя┐╜?╨а╨Ю╨Т╨Р╨Э╨Ю."
                                                                                                  ^
    C:\Users\RICH\Desktop\WorldGuard-rus-by-DarkFort\worldguard-bukkit\src\main\java\com\sk89q\worldguard\bukkit\BukkitWorldConfiguration.java:400: error: unmappable character (0x98) for encoding windows-1251
                        ? "(" + worldName + ") ╨Ю╨│╨╜╨╕╨▓╨╛ ╨Ч╨Р╨С╨Ы╨Ю╨Ъя┐╜?╨а╨Ю╨Т╨Р╨Э╨Ю."
                                                                         ^
    C:\Users\RICH\Desktop\WorldGuard-rus-by-DarkFort\worldguard-bukkit\src\main\java\com\sk89q\worldguard\bukkit\BukkitWorldConfiguration.java:403: error: unmappable character (0x98) for encoding windows-1251
                        ? "(" + worldName + ") ╨а╨░╤Б╨┐╤А╨╛╤Б╤В╤А╨░╨╜╨╡╨╜╨╕╨╡ ╨╛╨│╨╜╤П ╨╗╨░╨▓╤Л ╨Ч╨Р╨С╨Ы╨Ю╨Ъя┐╜?╨а╨Ю╨Т╨Р╨Э╨Ю."
                                                                                                             ^
    C:\Users\RICH\Desktop\WorldGuard-rus-by-DarkFort\worldguard-bukkit\src\main\java\com\sk89q\worldguard\bukkit\listener\WorldGuardPlayerListener.java:95: error: unmappable character (0x98) for encoding windows-1251
                        log.info("я┐╜?╨╖╨╝╨╡╨╜╨╡╨╜╨╕╨╡ ╤А╨╡╨╢╨╕╨╝╨░ ╨╕╨│╤А╤Л ╨┤╨╗╤П ╨╕╨│╤А╨╛╨║╨░ " + player.getName() + " ╨▒╤Л╨╗╨╛ ╨╖╨░╨▒╨╗╨╛╨║╨╕╤А╨╛╨▓╨░╨╜╨╛ ╨▓ ╤Б╨▓╤П╨╖╨╕ ╤Б ╤Д╨╗╨░╨│╨╛╨╝ GameMode ╨┤╨░╨╜╨╜╨╛╨│╨╛ ╤А╨╡╨│╨╕╨╛╨╜╨░");
                                   ^
    C:\Users\RICH\Desktop\WorldGuard-rus-by-DarkFort\worldguard-bukkit\src\main\java\com\sk89q\worldguard\bukkit\listener\WorldGuardPlayerListener.java:112: error: unmappable character (0x98) for encoding windows-1251
                        + "я┐╜?╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨░╤П ╨░╨║╤В╨╕╨▓╨╜╨╛╤Б╤В╤М ╤Б╨╡╤А╨▓╨╡╤А╨░ ╨▒╤Л╨╗╨░ ╨Ю╨б╨в╨Р╨Э╨Ю╨Т╨Ы╨Х╨Э╨Р.");
                            ^
    C:\Users\RICH\Desktop\WorldGuard-rus-by-DarkFort\worldguard-bukkit\src\main\java\com\sk89q\worldguard\bukkit\listener\WorldGuardPlayerListener.java:124: error: unmappable character (0x98) for encoding windows-1251
                    log.info("я┐╜?╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨░╤П ╨░╨║╤В╨╕╨▓╨╜╨╛╤Б╤В╤М: " + removed + " ╤Н╨╜╤В╨╕╤В╨╕ (>10) ╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╤Г╨┤╨░╨╗╨╡╨╜╤Л ╨▓ ╨╝╨╕╤А╨╡ "
                               ^
    C:\Users\RICH\Desktop\WorldGuard-rus-by-DarkFort\worldguard-bukkit\src\main\java\com\sk89q\worldguard\bukkit\listener\WorldGuardWorldListener.java:60: error: unmappable character (0x98) for encoding windows-1251
                    log.info("я┐╜?╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨░╤П ╨░╨║╤В╨╕╨▓╨╜╨╛╤Б╤В╤М: " + removed + " ╤Н╨╜╤В╨╕╤В╨╕ (>50) ╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╤Г╨┤╨░╨╗╨╡╨╜╤Л ╨╕╨╖ " + event.getChunk().toString());
                               ^
    7 errors
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':worldguard-bukkit:javadoc'.
    > Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): 'C:\Users\RICH\Desktop\WorldGuard-rus-by-DarkFort\worldguard-bukkit\build\tmp\javadoc\javadoc.options'
    
    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 7s
    11 actionable tasks: 1 executed, 10 up-to-date 
     
  2. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Очевидно, что с кодировкой проблема. Везде должно быть UTF-8: и у файлов, и у сборщика, и у всего остального
     
  3. Автор темы
    intervent

    intervent Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    adamant
    Согласен, но в сборщике уже стоит UTF-8. Файлы в любом случае тоже в UTF-8. Тут где-то в моих кривых руках дело, а посему и интересуюсь у вас - экспертов, что я делаю не так
    upload_2023-7-2_10-10-34.png
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    В сборщике в блоке tasks точно вот это присутствует?

    compileJava.options.encoding = 'UTF-8'
    compileTestJava.options.encoding = 'UTF-8'

    В оригинальном WG их не вижу
     
  5. Автор темы
    intervent

    intervent Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    adamant
    Если я правильно понимаю, то эти строки нужно добавить в файл build.gradle.kts, но в итоге почему-то ошибку выдает..
    upload_2023-7-2_14-35-54.png upload_2023-7-2_14-37-29.png
     
  6. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Код:
        tasks.withType<JavaCompile> {
            options.encoding = Charsets.UTF_8.name()
        }
    
        tasks.withType<Test> {
            systemProperty("file.encoding", Charsets.UTF_8.name())
        }
    
        tasks.withType<Javadoc>{
            options.encoding = Charsets.UTF_8.name()
        }
    
        tasks.withType<ProcessResources>{
            filteringCharset = Charsets.UTF_8.name()
        }
     
  7. Автор темы
    intervent

    intervent Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    adamant
    Конечно, мне уже неудобно запаривать с этой проблемой, но даже с этим фиксом ошибка все равно остается (с кодировкой).. Пробовал скомпилить английскую версию и там вроде не ругается на кодировку и собирает без проблем
     
    Последнее редактирование: 3 июл 2023
  8. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Если в проекте несколько модулей, то в корневом build.gradle.kts необходимо указать кодировку для всех подмодулей, сделать это можно путём указания параметров внутри блока allprojects:
    PHP:
    allprojects {
        
    tasks.withType<JavaCompile> {
            
    options.encoding Charsets.UTF_8.name()
        }

        
    tasks.withType<Test> {
            
    systemProperty("file.encoding"Charsets.UTF_8.name())
        }

        
    tasks.withType<Javadoc> {
            
    options.encoding Charsets.UTF_8.name()
        }

        
    tasks.withType<ProcessResources> {
            
    filteringCharset Charsets.UTF_8.name()
        }
    }
    После этого необходимо обновить параметры Gradle-проекта кнопкой на соответствующей панели справа:
    upload_2023-7-3_11-39-45.png

    После чего собрать проект при помощи gradle build:
    upload_2023-7-3_11-40-42.png

    После этих действий я смог успешно собрать проект из репы https://github.com/DarkFort/WorldGuard-rus-by-DarkFort
    upload_2023-7-3_11-42-2.png
     
  9. Автор темы
    intervent

    intervent Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    adamant
    Большое спасибо! Только он почему-то скомпилировался как-то неправильно маленьким (500 кб). Ошибок вроде нет, только предупреждения об устаревшем API
     

    Вложения:

  10. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    WorldGuard-rus-by-DarkFort\worldguard-bukkit\build\libs\worldguard-bukkit-7.0.9-SNAPSHOT-dist.jar
     
  11. Автор темы
    intervent

    intervent Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    adamant
    Понял, спасибо) Не в ту папку зашел..
     
Статус темы:
Закрыта.

Поделиться этой страницей