【问题标题】:How to share web content between eclipse projects如何在 Eclipse 项目之间共享 Web 内容
【发布时间】:2010-09-25 19:06:40
【问题描述】:

虽然 J2EE 模块参考功能允许您创建通用 Java 库项目,但我找不到为 Web 内容执行此操作的简洁方法。

我有通用的 JSP、CSS 文件、JavaScript 库甚至是描述符片段,我想在多个动态 Web 项目中使用它们,因此这些人工制品只在一个地方进行编辑,但将被导出到每个动态 WebProject WAR 文件。

我很惊讶,如果不编写自己的脚本并挂钩到导出过程,我就找不到一种方法来提高网络空间的可重用性。

有没有办法做到这一点? 谢谢。 马特。

【问题讨论】:

    标签: eclipse dynamic project


    【解决方案1】:

    我相信编写自己的脚本(例如使用 ant 自定义构建步骤,在 eclipse 中易于配置)是更实用的解决方案之一。

    您还可以创建多个 web 应用程序并引用它们各自的资源 - 这对于 css、图像等来说很容易,而不是 jsp 需要访问您的可用代码。

    我可以想象一些使用 tomcats crossContext="true" 选项作为上下文(例如 web 应用程序)的技巧,使一个应用程序能够访问另一个应用程序中的类,但还没有尝试过。

    对不起 - 我相信这不是你想听到的答案......

    【讨论】:

    • 我也是,但一点也不舒服。
    • 可重复使用的代码是开发成熟产品的方式.. javascript世界的局限性不应该是前进的方向..
    【解决方案2】:

    如果您使用的是 Subversion,您可以使用 svn:externals 来引用两个项目中的公共文件。然后你可以在一个地方编辑公共文件,如果你做一个svn up,所有的都会被同步。

    【讨论】:

    • 我用过这种方法,效果很好。如果有一种方法可以定义某种可以视为依赖项的 JSP JAR,那就太好了。
    【解决方案3】:

    我一直在为同一个问题苦苦挣扎,终于偶然发现了一个很好的解决方案:“链接文件夹”。这是一个与符号链接类似的 Eclipse 特性——它允许您将单个物理文件夹映射到多个项目中。这个解决方案的好处是它不需要任何特殊的构建步骤,因此 Eclipse 可以自动将更改部署到本地 Tomcat 服务器进行测试。

    我的配置如下:我有一个名为“SharedContent”的 Eclipse 项目。在 WebContent 目录中,有一个子目录“shareRoot”。所有可重用的文件——.jsp、.css 等——都位于 SharedContent/WebContent/shareRoot 下的某处。这是一个动态 Web 项目,因此启用了所有适当的编辑器,但我从未真正构建或部署它。

    在我的其他项目中,我添加了一个指向 shareRoot 的链接文件夹。在 Eclipse 3.6 中,步骤如下:

    1. 在 Package Explorer 中,右键单击需要包含可重用文件的项目的 WebContent 目录。

    2. 选择新建 -> 文件夹。

    3. 点击“高级>>>”按钮。

    4. 选择“链接到备用位置(链接文件夹)”单选按钮。

    5. 在此下方的文本框中,单击“浏览”。

    6. 在您的源代码树中,导航到 SharedContent/WebContent/shareRoot。然后单击确定/打开/完成按钮,直到所有对话框消失。

    共享内容现在已映射到您的项目中。令人讨厌的是,在引用这些文件时,您必须在 URL 中包含“shareRoot/”,但您可以使用您最喜欢的 URL 重写过滤器来解决这个问题。

    您可以在 Java 源代码树中使用类似的技巧将 Java 文件映射到多个项目中。我已经开始这样做了,而不是将共享代码构建到 .jar 文件中,因为它避免了每次您想要测试本地 Tomcat 服务器中的更改时都需要重新构建 .jar。

    【讨论】:

    • 你能解释一下“ShareRoot”的事情吗..请一步一步详细说明
    • 所以,当我们部署它时,我们需要确保我们也 git pull 服务器上的 sharedRoot 文件夹。请确认。
    • 或者导出 .war 是否会在 eclipse 中解决这个问题?
    【解决方案4】:

    哈哈,给你一个迟来的惊喜

    我是中国人,我的英语很差,但我可以帮助你。

    Olaf Kock 是对的,但他的答案并不完美。

    这是完美的答案。你必须参考follow url,它可以帮助你。

    click here

    在url页面中,属性内容框的例子不准确,你跟我来:

    如果需要共享文件:

    a.jsp  svn://myhome.com/svn/myproject/trunk/a.jsp
    

    如果需要共享文件夹:

    xml  svn://myhome.com/svn/myproject/trunk/xml
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多