Стратегии смешивания в совместимом и несовместимом источнике gwt - PullRequest
1 голос
/ 20 мая 2011

Да, я знаю одну альтернативу для решения этой проблемы - просто создать две исходные директории из оригинала.Путь к классу для компилятора GWT, таким образом, будет настроен так, чтобы просто видеть только совместимый источник, в то время как оба будут использоваться для серверной части вашего приложения.

Во-первых, я нахожу этот вид уродливым, потому что это означает, что теперь яесть две исходные директории с потенциальными двойниками классов.

  • Рефакторинг и другие структурные возможности IDE могут быть проблематичными, так как это может привести к путанице.
  • Иногда не представляется возможным поместить некоторые вещи в отдельные пакеты: подумайте о клиентских и серверных пакетахпросто потому, что тогда нужно было бы сделать что-то общедоступное, что на самом деле должно быть закрытым для ограничения доступности области.
  • существует ли библиотека, позволяющая классам или методам помечаться как игнорируемые компилятором GWT?

Есть ли лучший способ?

Ответы [ 2 ]

2 голосов
/ 21 мая 2011

Вы можете исключить классы (файлы на самом деле) из исходного пути GWT, используя Ant-like включает / исключает: http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects.html#DevGuidePathFiltering Вы не можете исключать методы или внутренние классы, хотя, на самом деле, они основаны на файлах.Смотри http://code.google.com/p/google-web-toolkit/issues/detail?id=3769

2 голосов
/ 20 мая 2011

Создайте каталог shared, содержащий код, который может прочитать как сторона GWT, так и сторона сервера.Любые классы, которые будут дублироваться, вместо этого попадают в эту папку, чтобы к ней можно было обращаться (без дублирования!) Как со стороны клиента, так и со стороны вашего приложения.

...