Не подскажите, почему может не работать hot deploy для классов экранов? Hot deploy cрабатывает только для дескрипторов экранов. Не работает ни в каких проектах, даже в только что созданных с минимальным набором стандартных компонентов.
@sergeevms.33, вы эту настройку имеете ввиду?
Включаю галку, выключаю - никакого влияния она не оказывает. Hot Deploy не происходит. На панели EventLog - тишина.
По какому событию этот hot deploy должен инициироваться? Я нажимаю Ctrl-S - ничего не происходит. Нажимаю Ctrl-Shift-F9 для перекомпляции класса - запускается таск gradle по пересборке проекта. У меня на это уходит 22 секунды даже на пустом проекте. При этом никакого обновления класса в приложении всё-равно не происходит
Попробуйте сделать File → Invalidate Caches, со всеми “галочками”. У меня тоже не работал hot deploy, после выполнения данной функции, стало работать. Hot Deploy Enable в настройках jmix стоит. Jmix 1.4.1, Idea 2022.2.4
@timaskraft, спасибо огромное! После сброса кеша Idea начались попытки выполнить hot deploy! Но пока безуспешно:
Hot deploy compilation errors:
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:3: error: package com.company.dprojects.tmpp1.entity does not exist
import com.company.dprojects.tmpp1.entity.User;
^
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:4: error: package io.jmix.ui.component does not exist
import io.jmix.ui.component.Button;
^
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:5: error: package io.jmix.ui.model does not exist
import io.jmix.ui.model.CollectionLoader;
^
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:6: error: package io.jmix.ui.navigation does not exist
import io.jmix.ui.navigation.Route;
^
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:8: error: package org.springframework.beans.factory.annotation does not exist
import org.springframework.beans.factory.annotation.Autowired;
^
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:14: error: cannot find symbol
public class UserBrowse extends StandardLookup<User> {
^
symbol: class StandardLookup
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:10: error: cannot find symbol
@UiController("tmpp1_User.browse")
^
symbol: class UiController
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:11: error: cannot find symbol
@UiDescriptor("user-browse.xml")
^
symbol: class UiDescriptor
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:12: error: cannot find symbol
@LookupComponent("usersTable")
^
symbol: class LookupComponent
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:13: error: cannot find symbol
@Route("users")
^
symbol: class Route
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:14: error: cannot find symbol
public class UserBrowse extends StandardLookup<User> {
^
symbol: class User
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:18: error: cannot find symbol
private Button createBtn;
^
symbol: class Button
location: class UserBrowse
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:21: error: cannot find symbol
public void onBeforeShow(BeforeShowEvent event) {
^
symbol: class BeforeShowEvent
location: class UserBrowse
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:7: error: package io.jmix.ui.screen does not exist
import io.jmix.ui.screen.*;
^
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:17: error: cannot find symbol
@Autowired
^
symbol: class Autowired
location: class UserBrowse
D:\PROJECTS\tmp-p1\src\main\java\com\company\dprojects\tmpp1\screen\user\UserBrowse.java:20: error: cannot find symbol
@Subscribe
^
symbol: class Subscribe
location: class UserBrowse
16 errors
Хотя проект нормально собирается и запускается. Осталось ещё где-то немного поднастроить:
Проблема решилась! Оказалось, что мешалась переменная окружения CLASSPATH в переменных окружения, оставшаяся от другого ПО. После того, как переменная была удалена hot deploy заработал! Всем спасибо за помощь, особенно @timaskraft