从另一个GWT引用GWT项目 - 问题

时间:2012-03-28 09:59:29

标签: eclipse gwt maven

我已经在使用开源GWT项目(iServe),我想将其集成到另一个开源GWT项目(PetalsBPM)中,我的意思是能够调用它并引用它的方法。

我已经在Eclipse中导入了iServe(它有多个模块),作为引用其他模块的单独Maven项目,可以通过Runas成功运行它 - > Web应用程序处于开发模式。

如果我这样做并通过控制台以mvn gwt:run运行其他项目,我通过iServe调用启动PetalsMBP。但是,这意味着两个程序必须按原样运行,而不相互通信。

我还将第二个项目成功导入eclipse作为java项目(转换为Maven导致问题 - 各种生命周期配置),但每当我尝试通过Properties添加到iServe时 - > Java构建路径 - >项目虽然不会立即导致任何错误,但我无法启动iServe。它会产生以下错误:

“执行命令行时发生异常。 无法运行程序“C:\ Program Files \ Java \ jre7 \ bin \ javaw.exe”(在目录“C:... iserve-sal-gwt-1.0.0-SNAPSHOT”中):CreateProcess error = 206,filename或者延期太长了“

我的问题是否与PetalsBPM不是Eclipse中的Maven项目有关(我对此表示怀疑)? 我做错了什么,也就是说,这不是从另一个项目引用项目的方式吗?我应该添加对第一个项目(iServe)gwt.xml文件的引用吗? 有没有办法做我想要的,而不必将第二个项目包装为jar并从iServe调用它?我不愿意,因为每次我做一个小改变就生产一个罐子并不是很有效!

P.S:第二个项目是一个带有入口点的常规GWT项目,而不仅仅是一个模块。我应该删除吗?


更新:试图找出此错误的来源,我试图简化问题,因此我执行了以下操作:

  1. 我创建了两个新的简单GWT项目,并试图引用一个 从另一个。工作得很好
  2. 我引用了我真正想要的项目     使用(PetalsBPM)从我刚刚创建的简单的。也有效     细。
  3. 我从最初的项目中引用了新的简单项目         想要使用(iServe)。也行得很好。
  4. 尝试做我实际做的事     想做,从2& 3复制设置。产生相同的错误     “CreateProcess error = 206,文件名或扩展名太长”如果     我引用PetalsBPM(当我从引用中删除它时不会     项目)
  5. 所以,我尝试切换工作区。我在C:\中创建了一个新工作区,并将实际项目移到那里。它仍然没有用。 :(

    还有什么想法?

3 个答案:

答案 0 :(得分:1)

我遇到了同样类型的错误“创建进程,错误= 206,路径太长等”。一百次。 然后,我在google-groups中找到了一个解决方案/解释,它解决了我的问题。 我发布内容和链接,因为它可能会帮助其他人。 这个网站(StackOverflow)真的帮​​了我一千次。 谢谢大家!

解决方案/解释 : (Stephen Johnson回复)

  

(...)如果您使用的是eclipse插件,请转到Project |属性,选择   Google \ App Engine \ ORM并且只包含您拥有的目录   您想要增强的类。默认情况下,它执行整个项目   所以这包括很多不必要的文件。 (...)

链接 original post @ google-groups

答案 1 :(得分:0)

再次阅读例外消息。在某些地方,Maven生成的路径太长而无法(某些)Windows API处理,请尝试将工作区移动到C:\正下方的目录。

答案 2 :(得分:0)

我刚试过“skolima”回复,它对我有用。在Eclipse中,我单击了File-> Switch Workspace。

需要注意三点:

  1. 在“C:\ workspace”中创建工作区后,我不得不更新我的项目 - >属性> Java构建路径>图书馆>添加外部JAR ...

  2. 我正在使用Windows 7。

  3. 我正在使用“Eclipse Java EE IDE for Web Developers”

  4. 我希望其他人。