目前我正在尝试建立一个GWT项目,而不是一个全新的项目,我只替换了一些依赖项。我引入了新的。
我有一个多项目项目,它使用xtext生成了大量的java文件(dto' s)。作为一个这样的项目的结果,创建了.jar和sources.jar。
我添加的这些罐子作为maven依赖项添加了。
<dependency>
<groupId>com.xxx.xxx</groupId>
<artifactId>xxx-gwt</artifactId>
<version>${xxx.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.xxx.xxx</groupId>
<artifactId>xxx-gwt</artifactId>
<version>${xxx.version}</version>
<classifier>sources</classifier>
<scope>provided</scope>
</dependency>
Eclipse没有显示任何错误。在包浏览器中,可以使用maven依赖项。
如果我尝试使用新的依赖项编译我的gwt项目,我会收到以下错误:
[ERROR] Errors in 'file:/C:/xxx/.../.../.../xxxDetailPresenterImpl.java'
[INFO] [ERROR] Line 82: No source code is available for type com.xxx.xxx.dto.xxxDetailResultSetDto; did you forget to inherit a required module?
有什么想法吗?客户端部件中使用的所有相关项目必须作为源提供。该项目可作为来源......
我已经了解了在引用的项目中定义模块的可能性,然后在gwt.xml中继承它。但说实话,我不知道如何,因为依赖项目是完全自动生成的。 Eclipse说,它甚至不是Java项目。
答案 0 :(得分:1)
如果你使用GWT-Mavent插件:
http://mojo.codehaus.org/gwt-maven-plugin/user-guide/project.html#Multi-project_setup
简而言之,这就是你需要做的事情
在您的主项目中,在gwt-maven插件的配置部分内
<configuration>
...
<compileSourcesArtifacts>
<artifact>com.xxx.xxx:xxx-gwt</artifact>
</compileSourcesArtifacts>
</configuration>
在YOURAPP.gwt.xml内部,不要忘记添加需要编译的类
<inherits name='com.xxx.xxx' />
...
<source path='com/xxx/xxx/client' />
在您想要使用来源的项目中
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.6.1</version>
<executions>
<execution>
<goals>
<goal>source-jar</goal>
</goals>
</execution>
</executions>
</plugin>