我会尽量保持这一点。我已经 Eclipse 安装了 M2E(Maven to Eclipse)插件。我正在开发一个 GAE(Google App Engine)项目。除了一件非常讨厌的事情之外,一切都正常工作:我每次做出改变时都必须停止/启动devserver。
如果您对此设置有任何经验,那么您可以回答这个简单的问题吗?
我在命令行上使用“mvn appegnine:devserver”启动开发服务器。现在我希望如果我对* .jsp进行了更改,例如,这些更改会自动在devserver上更新。这是怎么回事?
我注意到如果我对目标文件夹下的* .jsp文件进行了更改,那么devserver将会看到这些更改和更新,正如我所期望的那样。我认为我的问题在于Eclipse没有将更改复制到目标文件夹,但不确定是否甚至假设?
有没有人对如何调查这个问题有任何建议?我已经没想完了: - /
我提前感谢您提出的任何意见。
P.s我知道我可以运行“mvn package”来更新文件,但这很慢,并且devserver在执行两次后会耗尽内存。
答案 0 :(得分:3)
这可能会有点痛苦,这取决于你想要的工作方式以及你正在使用哪种版本的日食。
如果您还没有安装m2e-wtp插件。这是让印度项目在日食中发挥作用的秘诀。请注意,这不是m2e - 而是另一个插件。
安装GPE - eclipse的google插件,如果你没有
确保您的项目由m2e作为maven项目进行管理。
进入项目属性 - 使用GPE(在' Google'下列出)将其作为appengine项目启用。在你来这里时别忘了记下HRD。
转到项目构建路径(属性 - > Java构建路径)。
这听起来很荒谬 - 我不确定为什么仍然如此痛苦,但这是成功的好方法。一旦完成,这应该允许你在eclipse本身的调试中运行,加载代码,jsps,css,脚本等等。我已经在helios,indigo和juno中完成了这项工作。
您可以阅读有关m2e-wtp设置说明here的更多信息。它们指的是GWT,但它与appengine相同(我不确定为什么强调在GAE上使用GWT),因为它实际上是关于GPE和Maven的正确设置。
您还会发现,您可能需要经常重复步骤5的某些部分 - 如果您的应用未正确加载,请快速查看以确保您的资源未被排除。使用m2e插件更新项目配置时会发生这种情况。
wtp-m2e插件会在修改资源时更新目标文件夹 - 所以这也应该解决从命令行运行的问题,但我无法保证 - 我更喜欢直接运行eclipse。 / p>
答案 1 :(得分:1)
我和你有同样的问题,但我用其他方式解决了。我使用 FileSync 插件(可以在市场上找到)。 使用此插件,您可以配置输入目录(webapp)和输出目录(目标)。 对webapp所做的任何更改都将传递给目标。 我也帮了。
答案 2 :(得分:0)
你可以像这样使用rsync:
rsync -r --existing src/main/webapp/ target/ROOT
其中“ROOT”是项目构建finalName。
答案 3 :(得分:0)
以下观点对我有用。
在订单和导出选项卡上确保appengine依赖项高于maven依赖项。