큰 GWT 2.2.0 응용 프로그램에서는 동적 CellTables를 사용하려고합니다. 다른 위젯과 달리 CellTable은 CSS 스타일에 표준 이름을 사용하지 않습니다 (예 : "gwt-MenuItem"). 그래서 우리는 같이, 또한 표준 "gwt-"스타일을 inlcude합니다 CssResource 표준 CSS에서 이동해야 다음이 호스트 모드에서 잘 작동하고 이클립스를 사용하여 컴파일 할 수 있지만하지개미를 사용하여 CssResource 컴파일 문제가있는 GWT 2.2 프로젝트
public interface IPreferences
{
public interface MyCssResource extends CssResource
{
String content();
...
}
@ImportedWithPrefix("gwt")
public interface GwtCss extends CssResource
{
String MenuItem();
String MenuBar();
String TabLayoutPanelTab();
}
...
public interface MyResources extends ClientBundle
{
public static final MyResources INSTANCE = GWT.create(MyResources.class);
@Source("preferences.css")
@Import(GwtCss.class) <--- any imported interface will produce error
MyCssResource cssStd();
}
}
개미를 사용하여 컴파일하지 않음 :
<target name="gwtc" depends="compile" description="GWT compile to JavaScript">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
<classpath>
<pathelement location="src"/>
<pathelement location="gwt-servlet.jar"/>
<pathelement location="gwt-dev.jar"/>
<pathelement location="gwt-user.jar"/>
</classpath>
<jvmarg value="-Xmx256M"/>
<arg line="-war"/>
<arg value="war"/>
<arg value="...module.file"/>
</java>
</target>
[java] [ERROR] Annotation error: cannot resolve ...IPreferences$GwtCss
[java] java.lang.ClassNotFoundException: ...IPreferences$GwtCss
이클립스 밖에서 이것을 컴파일하기 위해 수행해야 할 힌트를 찾을 수 없었다. 의견을 보내 주셔서 감사합니다.
당신은 힌트를 Thanl. 생성 된 인터페이스가 수동으로 작성된 인터페이스보다 "더 나은"이유는 모르겠지만 InterfaceGenerator를 사용한 실험을 통해 @Import를 처음 사용하는 것을 피할 수있는 솔루션을 얻을 수 있습니다 : 점선으로 @ImpportWithPrefix를 사용하는 대신 "gwt -"- 생성자가 @Classname 주석을 사용하여 스타일을 지정합니다. 따라서 하나의 인터페이스로 모든 스타일을 가져올 수 있으므로 @Import를 사용할 필요가 없습니다. – Capoocan