2015-10-01 4 views
0

У меня есть мультимодульный проект maven. Корневой модуль: parent содержит: server, shared, client подмодули.Завод по заказу GWT. Куда поместить прокси?

Интересно, где в этой структуре я должен положить Proxy classes? Теперь у меня их есть в модуле client, но я хотел бы поместить их в модуль shared.

Прошу вас, подумайте об этом. Является ли это вопросом. Я спрашиваю, потому что я видел разные версии.

Вот мой прокси-класс:

package pl.derp.web.proxy; 


import java.util.List; 

import pl.derp.server.entity.User; 

import com.google.web.bindery.requestfactory.shared.ProxyFor; 
import com.google.web.bindery.requestfactory.shared.ValueProxy; 

@ProxyFor(value = User.class) 
public interface UserProxy extends EntityProxy { 
    public String getName(); 
    public void setName(String name); 

} 
+0

Вы говорите о интерфейсах прокси, аннотированных с помощью @ProxyFor? Они не используются на стороне сервера, поэтому зачем их размещать в общем пакете, предназначенном для типов, используемых как на клиенте, так и на сервере? –

+0

Да, интерфейсы прокси. Благодарю. – masterdany88

+0

@ boris-brudnoy Это неправильно, они * * используются на стороне сервера. –

ответ

0

Прокси-интерфейсы должны быть доступны клиенту (браузер) и сервером. Поэтому они должны быть где-то, что оба могут видеть источник и классы.

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

Исходный код клиента использует их для вашего доменного кода и в сгенерированной сантехнике.

У нас есть веб-клиентский модуль, который разделен на серверные/общие/клиентские пакеты. Наличие другого модуля должно быть в порядке, но я думаю, что вашему совместному модулю потребуется экспортировать источник.

+0

Можете ли вы помочь мне написать правильный проект мультимодуля maven? [Вот мой вопрос по этому поводу] (https://stackoverflow.com/questions/32889549/maven-multi-module-project-consist-of-parent-client-shared-server-how-to/32897469#32897469) I Я попытался переместить мои 'Proxies' в' shared'-модуль, но я столкнулся с циклом 'dependecies ' – masterdany88