• Как сделать, чтобы в письме владельцу магазина и клиенту отправлялась ссылка на товар, который клиент хочет купить в лид форме в один клик?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Как сделать так чтобы во всплывающих формах в Contact Form 7, при отправке уведомления клиенту и владельцу магазина оставлялась ссылка на товар который хочет купить клиент?

    Я так понимаю, что вы решили отказаться от функционала самого WC и вместо полноценного оформления корзины решили использовать CF7?

    Если так, то можно по-разному реализовать вашу задачу.
    1) У плагина CF7 есть свои теги. Этот вариант может не сработать в ряде случаев. Например, пользователь кликнул на кнопку в корзину находясь на странице категории товаров и соответственно, вместо ссылки самого товара в письмо попадет ссылка категории
    https://contactform7.com/special-mail-tags/
    Ищите:
    [_url]
    или
    [_post_url]

    2) (Как по мне более приемлимый способ). Для этого нужно владеть JavaScript и jQuery. По клику "В корзину" получаете ссылку на текущий товар, затем находите селектор поля из всплывающего окна и вставляете туда вашу ссылку. Но вам нужно учесть, что в корзину пользователь может добавить несколько товаров и соответственно, ссылка на каждую из них должна попасть в форму CF7
    Полезные ссылки:
    Отловить клик на элементе
    https://www.w3schools.com/jquery/event_click.asp
    или https://api.jquery.com/on/
    Вставить ссылку в поле input
    https://ruseller.com/jquery.php?id=47

    3) Если же вы можете использовать функционал корзины и готовы отказаться от CF7, то попробуйте поискать некий плагин для оффлайн оплаты. Тогда вам не нужно будет ссылку каждого выбранного товара добавлять в письмо, так как этот вопрос будет решаться внутренними средствами WC.
    Ответ написан
    1 комментарий
  • Почему Role и Privileges выдаются в UserDetailsService в одной коллекции, как равноценные понятия в данном примере?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Собственно говоря, в той же статье откуда вы взяли код (baeldung) ниже написана причина смешивания ролей и привилегий.
    The interesting thing to follow here is how the Privileges (and Roles) are mapped to GrantedAuthority entities.This mapping makes the entire security configuration highly flexible and powerful – you can mix and match roles and privileges as granular as necessary, and at the end, they'll be correctly mapped to authorities and returned back to the framework.


    Вот, еще полезная информация (прочитайте первый ответ) - https://stackoverflow.com/questions/6357579/spring...

    В Spring есть понятие Authority. Это могут быть как роли, так и привилегии (privilege, permission). Так как конечная цель заключается в том, чтобы проверить права пользователя и так как привилегия и роль по факту являются теми самыми "правами", но лишь на разных уровнях абстракции (роль содержит сет привилегий), то в примере кода, который вы указали все смешано в одну кучу.
    Отличие проявляется на другом уровне, когда есть метод для проверки роли hasRole(), к слову, к значению этого метода автоматически добавляется префикс ROLE_, а также метод hasAuthority(), когда проверяются все права (роли и привилегии) и в этом случае для проверки роли нужно указывать префикс ROLE_ самому или уже указать название привилегии (например, READ_PRIVILEGE).
    Ответ написан
    Комментировать
  • Как обратиться ко второму значению в массиве?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Прежде всего рекомендую воспользоваться поиском и только после этого задавать вопрос.
    Что касается вашего вопроса:

    Допустим, что у вас есть класс
    class Brus {
    public String name;
    public String weight;
    }


    Также есть некий массив private Brus[] arr = new Brus[3];, который к слову инициализируется динамически.
    {
        arr[0] = new Brus("Брусок", 500);
        arr[1] = new Brus("Брусок1", 350);
        arr[2] = new Brus("Брусок3", 5500);
        count = 3;
      }


    Судя по этому коду предположу, что вам нужно рассчитать вес всех брусов. Я не дам вам полного ответа, чтобы вы могли сами подумать, а лишь напишу, что нужно делать.
    public void calc() {
    
    int calcTotalWeight;
                                   // получаем длину массива
         for (int i = 0; i < arr.length; i ++) {
           // получаем вес текущего блока
           int weight = arr[i].weight;
          // после получения веса текущего бруса суммируем его значение к общему весу calcTotalWeight
          }
       }


    Вот, похожий вопрос - https://stackoverflow.com/questions/3123086/access...
    К слову в вопросе указан вариант использования forEach. А также использование геттера вместо доступа к публичному полю
    Ответ написан
    Комментировать
  • Как отредактировать форму поиска на сайте Wordpress?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый вечер.
    Я установил на сайт новый плагин для поиска для того чтобы поиск работал как надо(по артикулам и тд)

    Вот, хороший плагин для реализации поиска (правда, платный) - Ajax Search Pro

    Но старые стили как я и думал слетели, я думал спокойно отредактирую их узнав классы через консоль разработчика Google Chrome, но я ошибся

    Ну конечно же слетят, ибо у нового плагина поиска свои стили и свои классы. Соответственно, вам нужно проинспектировать элементы плагины и в файл стилей style.css добавить ваши новые стили. Может потребоваться добавление css !important, чтобы перезаписать дефолтные стили плагина (если конечно же самим плагином не предусмотрена возможность изменения стилей через админку).

    Как вернуть все стили как было на новую форму(я не знаю куда прошлый разработчик запрятал все кастомные стили) вот скрины

    А нечего возвращать. Надо либо как я указал выше добавить стили для нового плагина, либо отключить этот плагин и вернуть старый поиск, в котором есть свои стили. Кастомные стили, в общем-то все стили обычно кладут в style.css. Однако, иногда в темах предусмотрено окно, куда можно добавлять эти стили. В этом случае они добавляются инлайном.

    Вот в общем в чем проблема, иконка поиска на сайте не работает при нажатии, почему?

    Тут проблема не в стилях, а в том что на самой кнопке поиска по какой-то причине нет обработчика (проблема в js). Тут могут быть разные причины:
    - баг самого плагина
    - конфликт js скриптов
    - ошибка где-то в js скриптах из-за чего каскадом перестают работать другие скрипты.
    Как видите, нет обработчика на кнопке поиска
    z4sBPJk.png
    Ответ написан
  • Как в Hibernate мапить вспомогательную таблицу?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день.
    Наверное, прежде всего мне стоит уточнить один вопрос...
    - Вы пытаетесь создать java код для уже готовой таблицы? (db first подход)
    - Или вы пытаетесь написать java код и хотите, чтобы получилось, как в указаной таблице? (code first подход).

    Если первый подход, то вам нужно описывать не сущности, а скорее работать с JDBC API.

    Вам стоит предоставить больше данных про взаимодействие ваших сущностей, но могу предположить следующее:
    Во-первых, сущности User & Role. Между ними скорее всего должна быть связь ManyToMany. Говоря простыми словами, у пользователя могут быть несколько ролей (админ, пользователь, модератор и т.д.). Соответственно, у вас будут 3 таблицы: users, roles, user_roles
    Далее не очень понятна сущность Room. Но скорее всего это либо OneToMany & ManyToOne, либо ManyToMany.
    Что касается вашей сущности RoomUserRole, то вам не нужно использовать @Id.
    @UniqueConstraint должно быть достаточно.
    https://www.baeldung.com/jpa-unique-constraints
    Ответ написан
    Комментировать
  • Почему Intellij не видит как проект просто отдельные Java file?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день.
    Могут быть разные причины этому. Я бы попросил скинуть скриншоты проекта, чтобы объективно можно было оценить ситуацию.
    Установлена ли у вас jdk? Также зажмите ctrl + shift + alt + S и гляньте в настроки проекта. Является ли проект maven или gradle проектом и если да, то установлены ли у вас указанные программы.
    Также скажите, что именно скидывает вам ваш друг. Скидывает ли он исходник или class файлы?
    В общем, предоставьте побольше информации
    Ответ написан
    Комментировать
  • Можно ли домен, логин и т.п прописать в properties?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Пожалуй, я лишь дополню ответ своего коллеги BorLaze некоторыми ссылками на полезные материалы.
    1 - насчет вынесения properties файла за пределы приложения:
    https://docs.spring.io/spring-boot/docs/2.1.8.RELE...
    В частности обратите внимание на:

    SpringApplication loads properties from application.properties files in the following locations and adds them to the Spring Environment:

    A /config subdirectory of the current directory
    The current directory
    A classpath /config package
    The classpath root

    The list is ordered by precedence (properties defined in locations higher in the list override those defined in lower locations).


    Вот, еще по этой же теме:
    https://www.baeldung.com/spring-properties-file-ou...
    Это Spring Boot + Docker: https://stackoverflow.com/questions/46057625/exter...
    Вот, еще информация о том, как можно исключить внешний конфиг файл
    https://stackoverflow.com/questions/26140784/sprin...
    https://stackoverflow.com/questions/26744060/exclu...

    Насчет хранения паролей в properties, вы можете воспользоваться - Jasypt
    Ссылка на первоисточник: https://stackoverflow.com/questions/37404703/sprin...

    Еще можно при старте приложения передать значения этих данных при помощи аргументов.
    Т.е. хранить в properties что-то типа ftp.host=example.com А при старте приложения использовать что-то типа такого:
    mvn spring-boot:run -Dspring-boot.run.arguments=--ftp.host=mysite.com

    https://www.baeldung.com/spring-boot-command-line-...

    В микросервисах подобная задача решается несколько иначе - поднятием отдельного конфиг сервера, который подтягивает конфигурацию извне при старте приложения. Но думаю, что это вам пока не нужно
    Ответ написан
    Комментировать
  • Как получить по ftp самый свежий файл?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Добрый день
    получить файл (без сортировки, а просто по указанию путь -> названию файла)

    А чем сортировка вам не подходит?
    Вот, ответ на ваш вопрос с использованием Comparator
    https://stackoverflow.com/questions/3824983/get-la...
    https://stackoverflow.com/questions/30883025/how-t...

    P.S. Как вариант можно попробовать получить список файлов и дату последнего изменения каждого из них. Затем для каждого LocalDateTime применив методы isAfter() isBefore() найти последнюю запись.
    Ответ написан
    Комментировать
  • Как ограничить права на редактирование записей?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Добрый день!
    Вам нужно добавить такие сущности, как Role & Privilege.
    Роли - ADMIN, USER и т.д.
    Привилегии - READ_PRIVILEGE, WRITE_PRIVILEGE и т.д.
    Ссылка - https://www.baeldung.com/role-and-privilege-for-sp...
    А затем уже логика работы следующая:
    Если пользователь является админом, то скорее всего у него должны быть все необходимые привилегии. Если это пользователь и если запись была создана им же и если например, у него есть EDIT_PRIVILEGE, то он может отредактировать запись. Если например, у вас есть роль - модератора, то привилегия EDIT_PRIVILEGE у него будет даже, если он не является владельцем записи и т.д. Дальнейшая логика строится на основе ваших нужд
    Ответ написан
  • Как сделать sql запрос из MySQL в TableView?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый вечер.
    Я бы попросил чуть конкретизировать ваш вопрос, ибо непонятны следующие моменты:
    1) Является ли ваш проект клиент-серверным приложением? Если да, то правильно ли я понимаю, что у вас есть клиент - JavaFX и сервер - Spring Boot. Если так, то получается, что вы хотите из клиента выполнить запрос на сервер и получить данные хранимые в БД. В этом случае вам нужно на серверной стороне (в Spring) написать REST сервис. Например, контроллер, который обрабатывает GET запросы и возвращает соответствующие данные в формате json. Затем при успешном ответе ваш клиент (javaFX) парсит json и маппит в pojo. После чего он выводится в TableView.
    Исходя из вышесказанного ответ на ваш вопрос:
    Подскажите как сделать запрос в бд?

    Вам необходимо:
    - Написать REST сервис (не нужно из клиента обращаться напрямую в БД)
    - Использовать библиотеку для выполнения запросов. Например, Retrofit

    2) Если у вас приложение не клиент-серверное, а лишь JavaFX приложение, которое использует фреймворк Spring. Например, при помощи либы JavaFX Weaver
    https://habr.com/ru/post/478402/
    https://github.com/rgielen/javafx-weaver
    То конечно же сторонний http клиент и вообще http клиент не нужен. Вы можете обратиться к БД написав методы для Repository и затем маппить их в dto (pojo) и выводить в таблице.
    Ответ написан
    2 комментария
  • Counter на php для выдачи файлов из директории?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Может можно обойтись без php?

    Как вы планируете обходится без рнр, если WP написан на рнр и вам нужно инкрементировать значение для получения файла.

    Карточки появляются через цикл в кастомных полях wp

    Вам нужно инициализировать переменную вне цикла. Например. $i = 0;
    Затем внутри цикла необходимо инкрементировать переменную $i++;

    Ну и значение переменной подставить в поле

    Примерно как-то так:
    <a href="<?php echo esc_url( get_template_directory_uri() ); ?>/hhhh/<?php $i.'.pdf'?>" class="about-item__btn btn" download></a>
    Ответ написан
    Комментировать
  • Как связать два отношения правильно в java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Отвечу исходя из вашего второго вопроса, на который я уже написал ответ:

    @Entity
    @Table(name = "category")
    @Data
    public class Category {
    
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
    
        private String name;
    
        @Column(length = 1000)
        private String description;
    
        @ManyToMany(mappedBy = "categoryList")
        private List<Product> productList;
    }


    @Entity
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class Product {
    
    	@Id
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	private Long id;
    	private String name;
    
    	@Column(length = 1000)
    	private String description;
    
    	private double price;
    
    
    	@ManyToMany(fetch = FetchType.LAZY, cascade = {
    			CascadeType.PERSIST,
    			CascadeType.MERGE
    	})
    	@JoinTable(name = "product_categories",
    				joinColumns = @JoinColumn(name = "product_id"),
    				inverseJoinColumns = @JoinColumn(name = "category_id"))
    	private List<Category> categoryList;
    
    }


    Полезная информация - https://vladmihalcea.com/the-best-way-to-use-the-m...
    Ответ написан
    Комментировать
  • Как в Spring правильно создавать и инжектить сервисы?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    1. Это нормально?

    Да, нормально. Вообще, наличие сервисного слоя для реализации бизнес-логики необходимо. В сервисном слое вы можете валидировать dto, конвертировать dto <-> model, а также описывать любую бизнес-логику.
    2. Почему инжектится "исходный" интерфейс?

    Коллега подсказал вам правильно. Инжектится реализация данного интерфейса. Если у интерфейса есть несколько реализаций, то необходимо будет уточнить какая реализация должна быть заинжекчена

    Зачем создаётся EmailServiceImpl, если он не используется? Он ведь не используется?

    Конечно же используется. Во время работы происходит примерно следующее:
    private EmailService emailService = new EmailServiceImpl();


    Тут какая-то хитрая магия Spring? Он видит, что есть ИмяИнтерфейсаImpl и учитывает это в процессе? Как это работает?

    Как я и сказал выше, если у интерфейса несколько реализаций, то необходимо уточнить название бина, который должен заинжекчен. Ну а если у интерфейса одна реализация, то конечно же она и будет автоматически взята.

    Как правильно в Spring создавать интерфейсы и правильно их инжектить?

    Собственно говоря, создайте нужный интерфейс. Затем имплементируйте данный интерфейс. В классах (контроллерах или еще где-то) используйте сам интерфейс для создания слабых связей.
    А сприн сам "решит" какую реализацию подключать, ну или же укажите название бина, который нужно заинжектить.
    Ответ написан
    5 комментариев
  • Как удалить всплывающее окно подтвердите действие на сайте?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый вечер.
    Said927, если вкратце, то вам нужно найти что-то что блокирует сабмит содержимого формы на уровне js кода. Где-то есть строка с preventDefault(), которая блокирует сабмит и делает alert() и ждет действий со стороны пользователя.
    Скрипт, который это делает находится по пути wp-content/themes/elki24/js/common.js
    В частности вот, сам скрипт:
    function(event) {
      alert();
      $(".wpcf7").on('wpcf7:mailsent', function(event) {
        // Your code here
        //alert('ERROR');
        function close() {
          //alert();
          $('.modal-wrapper').css('display', 'none');
          $('.modal-overlay').fadeOut(400);
        }
        //document.write(document.location.href = 'https://xn---24-qddplg.xn--p1ai/order-received/';)
        var url = "https://xn---24-qddplg.xn--p1ai/order-received/";
        //$(location).attr('href',url);
        location.href = url;
        //var text = '<div role="form" class="wpcf7" id="wpcf7-f231-o1" lang="ru-RU" dir="ltr"><div class="screen-reader-response" aria-live="polite"></div><div class="modal__title">Заказ оформлен!</div><p align="center"><img src="/wp-content/themes/elki24/img/icon_success.png" alt=""></p><p class="modal__subtitle">Менеджеры компании с радостью перезвонят Вам в ближайшее время</p><!--<p><input type="button" value="Закрыть" class="wpcf7-form-control wpcf7-submit modal-btn"><span class="ajax-loader"></span></p>--><div class="wpcf7-response-output wpcf7-display-none" aria-hidden="true"></div><br><br></div>';
        //$(".modal__inner").html(text);
    
      });
    }

    Как видите, там есть alert();
    Ответ написан
  • Как правильнее обработать кастомное исключение в Spring MVC?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый вечер.
    1) Прежде всего - вместо скриншотов добавляйте сниппеты кода. Если например, придется вносить правки в ваш код, то что прикажете делать? Не перепечатывать же его со скрина.
    2) Проверку на дубликаты и др. логику лучше перекинуть на сервисный слой.
    Например, некий CategoryService, где обрабатывается бизнес логика, а затем в сервисном слое вызываются методы CategoryDao
    3)
    Насколько ок завязываться на логике выброшеного исключения?

    Выбрасывайте свое кастомное исключение в сервисном слое. Например, DuplicateRecordExistsException, RecordExistsException или что-то типа такого.
    Далее ловите данное исключение на уровне контроллера или controllerAdvice. А затем уже на основе выбрасываемого исключения отдавайте на клиент сообщение с http статусом. Например,
    наличие дубликата это ошибка на клиенте. Соответсвенно, код ошибки 4xx (например, 400). Сообщение ошибки - Запись существует.
    Прочитайте вот это - https://spring.io/blog/2013/11/01/exception-handli...
    Обратите внимание на
    @ExceptionHandler
    а также вот, эту главу - Global Exception Handling Using @ControllerAdvice Classes
    Ответ написан
    Комментировать
  • Что лучше купить для комфортной работы программистом: Makbook Pro 13" 8gb или Makbook Air 13" 16gb?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Добрый день.
    Начнем с простого - выбор ОС. Прежде всего отмечу, то выбирая MacBook вы привязываете себя к MacOS, а значит, работать нужно будет именно с этой ОС. Отсюда сразу напрашивается первый вопрос - в какой ОС девушка лучше работает? Это должно быть одним из решающих факторов, ибо переход на другую ОС не всегда происходит без сучка и задоринки. Если она работала раньше с Windows, то и железо соответственно, должно быть подходящее. Под знакомой ОС разработчик работает продуктивнее...
    Я например, раньше работал в Windows, но уже несколько лет как работаю на Linux и он меня многим устраивает, в том числе и в плане продуктивности. К тому же как отметили коллеги, с учетом дороговизны железа Apple, можно на первую пору взять что-то от других производителей.
    Что касается Apple и в частности, MacBook, то:
    1) для разработки нужно 16 гб (8гб откровенно говоря маловато). Соответственно, берите либо MacBook Pro 16 gb, либо MacBook Air 16 gb. Надеюсь, не стоит говорить о том, что стоит брать модели от 2020 года с процессором Apple M1.
    2) для разработки оба модели имеют маленький экран. Извините, но 13 дюймов маловато. Отсюда вытекает следующий совет - подумайте над созданием док. станции с подключаемым внешним монитором / мониторами. P.S. Вы наверняка видели MacBook Pro 16", но с учетом того, что он работает не на M1, то брать его наверное и не стоит. Можно подождать, когда они выпустят другой чип что-то типа m2 или еще что... но не факт.

    И так как я понимаю, что скорее всего придется покупать Air 16gb, может кто знает, будет ли мак перегреваться при пассивном охлаждении в игре Genshin Impact?

    Скажу так - не стоит рассматривать ОС MacOS & Linux для гейминга.

    Или возможно стоит рассмотреть более ранние Pro версии, например 19 года? Но как я понял M1 дает слишком большой прирост ко всему.

    По той же цене, а скорее всего даже дешевле вы найдете других производителей с каким-нибудь intel core i9 или amd ryzen 9, а если установите OC Linux, то особой разницы между маком и не заметите)) (шутка).
    Ответ написан
    1 комментарий
  • Как правильно присвоить значение объекту в thymleaf?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день.
    Во-первых, убедитесь в том, что указанная строка что-то возвращает. Добавьте точку остановки и гляньте есть ли список категорий
    List<Category> category = categoryService.getAll();


    Точно не уверен, но могут ли названия двух полей, как-то конфликтовать?! Надо бы этот момент проверить.
    th:field="*{category}"
    Попробуйте в блоке ниже сменить category : на что-нибудь другое. Например, cat и соответственно, смените его в соответствующих строках тоже.
    <option th:each="category : ${categoryList}" value="${category.id}"
                                    th:text="${product.category}"></option>



    Вы имеете ввиду вот, тут не присваивается? th:text="${product.category}"
    Если да, то он и не будет присвоен, ибо в данном случае вы лишь получаете значение product.category, а так как product новый: Product product = new Product();, то и присвоенной категории для него тоже не будет.
    Ответ написан
  • Как понять работают все links в футере?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Можно получить HTTP статус этих ссылок.

    Вот, простой пример (указанный ниже код можно сократить и упростить):
    import java.io.IOException;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    public class URLChecker {
    
      public static int checkUrl(String currentUrl) {
        URL checkUrl = null;
        HttpURLConnection http = null;
        int statusCode = 0;
        try {
          checkUrl = new URL(currentUrl);
        } catch (MalformedURLException e) {
          e.printStackTrace();
        }
        try {
          if (checkUrl != null) {
            http = (HttpURLConnection)checkUrl.openConnection();
          }
        } catch (IOException e) {
          e.printStackTrace();
        }
        try {
          if (http != null) {
            statusCode = http.getResponseCode();
          }
        } catch (IOException e) {
          e.printStackTrace();
        }
        return statusCode;
      }
    }

    А дальше проверяете статус ссылки и если он равен 200, то все ок. А если нет, то значит ссылка нерабочая.
    Ответ написан
    Комментировать
  • Почему не запускается чистый Maven проект?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый вечер. Давайте попробуем разобраться.

    Если вам не нужны плагины, то вы можете их удалить.
    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>3.1.2</version>
            </plugin>
        </plugins>


    Для maven это норм такой геморрой?:)

    Нет конечно же. Просто вы решили начать изучать Java и сразу же решили взяться за Maven. Можно было для начала изучить сам язык, а затем изучить системы сборки, но это уже ваше дело)


    Error injecting: org.apache.maven.report.projectinfo.CiManagementReport
    java.lang.NoClassDefFoundError: org/apache/maven/doxia/siterenderer/DocumentContent

    Вот, полезная информация:
    This is caused by maven-project-info-reports-plugin updated to 3.0.0, and rely on doxia-site-renderer 1.8 (and have org.apache.maven.doxia.siterenderer.DocumentContent this class), but maven-site-plugin:3.3 rely on doxia-site-renderer:1.4 (and do not have org.apache.maven.doxia.siterenderer.DocumentContent)

    https://stackoverflow.com/questions/51091539/maven...

    Для быстрого старта проекта вы можете использовать архетипы. В частности ищите архетип maven quickstart
    Скрин - https://i.imgur.com/tPVfFH9.png

    Попробуйте вышеуказанные решения, а затем отпишитесь. Также вы можете выложить исходник вашего проекта на гитхаб и скинуть ссылку.
    Ответ написан
    4 комментария
  • Какие знания нужны для взлома мобильной игры?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Ну во-первых, чтобы взломать клиентскую часть игры вам нужно изучить язык, на котором написана данная игра. Так как это фреймворк Unity, то скорее всего вам нужен язык C#.
    Далее вам нужно изучить реверс-инженеринг. Грубо говоря, вам нужно собранный apk игры декомпилировать, найти нужные строки, изменить их по своему усмотрению, а затем собрать новый apk. Тут вам скорее понадобится владение Java.
    Во-вторых, все современные игры синхронизируются с сервером, а значит, вам нужно взломать не только клиентскую часть, но и серверную часть тоже. Тут уже нужны совсем другие навыки. Например, вам нужно знание принципов работы сетей, владение языками рнр или пайтон, быть знакомыми с sql эксплоитами и xss атаками и т.д. В общем, как по мне это все выходит за рамки правил данного сервиса и далее нет смысла это все описывать. Ищите специализированные форумы, где вам могут подсказать или помочь.
    Ответ написан
    Комментировать