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



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

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

如果我这样做并通过控制台以mvn-gwt:run的方式运行另一个项目,我将通过iServe调用initiate PetalsMBP。然而,这意味着这两个程序必须按原样运行,彼此之间没有通信。

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

"执行命令行时发生异常。无法运行程序"C:\program Files\Java\jre7\bin\javaw.exe"(在目录"C:…iserver-sal-gwt-1.0.0-SNAPSHOT"中):CreateProcess错误=206,文件名或扩展名太长"

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

p.S:第二个项目是一个常规的GWT项目,它有一个入口点,而不仅仅是一个模块。我应该去掉这个吗?


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

  1. 我创建了两个新的简单GWT项目,并尝试引用其中一个从另一个。工作良好
  2. 我引用了我真正想要的项目使用我刚刚创建的简单版本中的(PetalsPM)。同样有效很好
  3. 我引用了原来的简单项目中的新项目想要使用(iServe)。也很好
  4. 试着做我真正想做的事想要做的,从2&3.产生相同的错误"CreateProcess错误=206,文件名或扩展名太长"如果我引用PetalsPM(当我将其从引用的项目)

所以,我试着切换工作空间。我在C:\中创建了一个新的工作区,并将实际项目移到了那里。但它仍然没有起作用(

还有什么想法吗?

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

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

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

链接 :谷歌群组的原始帖子

再次读取异常消息。在Maven生成路径的过程中,有些路径太长,Windows API无法处理,请尝试将您的工作区移动到C:正下方的目录。

我刚刚尝试了"skolima"回复,它对我有效。在Eclipse中,我单击了文件->切换工作区。

需要注意的三件事:

  1. 在"C:\workspace"中创建工作空间后,我不得不更新我的项目->属性>Java构建路径>库>添加外部JAR。。。

  2. 我使用的是Windows7。

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

我希望这是其他人。

最新更新