是否可以仅在服务器端编译我的 Play!framework 应用程序?
由于我从托管 Play! 的服务器将samba共享连接到我的客户端,因此客户端和服务器(模块、播放、库)之间的路径不同。所以 eclipsify 给了我客户端上的服务器路径,而不是使用客户端路径。因此,客户端给了我一个构建错误。
解决方案是;
- 更改每个客户端配置的 eclipsify 路径。
- 仅在服务器上编译我的应用程序(首选,因为 env 设置没有差异)。
谁能告诉我这些选项之一是如何可能的?
是否可以仅在服务器端编译我的 Play!framework 应用程序?
由于我从托管 Play! 的服务器将samba共享连接到我的客户端,因此客户端和服务器(模块、播放、库)之间的路径不同。所以 eclipsify 给了我客户端上的服务器路径,而不是使用客户端路径。因此,客户端给了我一个构建错误。
解决方案是;
谁能告诉我这些选项之一是如何可能的?
看看play-maven插件?使用 maven 进行依赖管理意味着所有开发人员都将拥有相同的 pom/config 文件,在运行 maven 构建时,jars/libs 将从存储库服务器下载(您也可以使用自己的 repo 服务器)。
为什么不在客户端安装 paly 框架?该框架用于开发任务,因此您应该将其安装在您的开发机器中(我认为是客户端)。Play 框架可免费下载并易于安装在您的客户端上。
如果我正确理解您的问题,您想与多个开发人员在某个服务器上托管的应用程序的单个实例上进行开发???
这可能不是您要寻找的答案,但我的建议是:不要这样做。
直接在服务器上开发,尤其是与多个开发人员一起开发,是开发中最重要的反模式之一。通常,只有初学者和非专业开发人员(无意冒犯)以这种方式进行开发。
重新启动服务器、调试代码、在相同的文件中工作……只有在进行这种“共享”开发时才会流泪。
确保您可以在每个工作站上完全隔离地运行应用程序。使用版本控制签入更改。如果两个开发人员一直在处理相同的代码,您至少有机会纠正这种情况(如果您使用 Mercurial 或 Git,这是一个相当好的机会)。如果您仍然想要一个全局服务器,例如向非开发人员演示更改,只需定期从版本控制中签出快照并将其部署到该服务器。
我找到了一个临时“解决方案”,让每个客户端定义自己的路径(可能会被 play eclipsify 覆盖?我可以改变这个吗?)。
在 Eclipse 中,我在 Window > Preferences > Java > Build path > Classpath Variables下添加了一个名为 PLAY_HOME 的变量,在这种情况下指向“D:\play-1.2.2”。
在 .classpath 中,我替换了所有绝对路径:
<classpathentry kind="lib" path="/usr/local/bin/play-1.2.2/framework/lib/...jar" />
至:
<classpathentry kind="var" path="PLAY_HOME/framework/lib/...jar"/>
仍然没有对服务器/持续集成等进行编译,但它现在是一个可行的解决方案,尽管它可以改进(客户端 - 服务器差异依赖关系仍然存在)。
也许您需要一个Ant 脚本?