对于过去的GWT项目,我已经使用此archtype来创建3模块项目。它将客户端代码,服务器代码以及两者之间共享的代码分开。这样可以加快开发速度,因为您不必在每次进行服务器端更改时都重新编译整个项目。

现在,我想使用Errai来利用其更自然的模板系统。我已经尽力导入了errai-ui和相关的依赖项,但是我无法使其正常工作。在四处搜寻之后,似乎Errai被设计为用作框架而不是库。您可以在此主题here上看到我的SO问题。

我发现this thread某人确实做了我需要的工作。不过,他们根本没有发布他们的操作方式。

我发现this guide显示了如何将Errai添加到现有的GWT项目中,但这假设您的GWT项目是在标准的单个模块中设置的,这是我所不想要的。

我的主要问题是,我不知道pom文件需要什么才能完成这项工作。我只想使用Errai的客户端功能,例如errai-ui和errai-navigation,所以我认为Errai的东西可以只存在于客户端模块中。但是,当生成一个新的Errai项目时,pom中有很多东西,我不知道如何将其转移到父pom和客户pom中。

理想情况下,我只需要一个示例或框架项目就可以使我前进。如果这些东西不存在,那么朝正确方向的提示将不胜感激。

最佳答案

您需要使用Maven并拥有一个像这样的父子项目:

<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>

<groupId>com.mycompany.app</groupId>
<artifactId>parent</artifactId>
<version>0-SNAPSHOT</version>
<name>APP::Parent</name>
<packaging>pom</packaging>

<modules>
  <module>client</module>
  <module>server</module>
  <module>shared</module>
</modules>

</project>


这样,您的服务器代码和客户端代码被分离,并将shared依赖项导入到clientserver

我希望这有帮助。

07-25 21:15