将外部JavaScript库添加到Eclipse Project?

时间:2012-11-18 17:22:28

标签: javascript eclipse tomcat6 d3.js

当我将一个外部JavaScript库添加到Eclipse项目时,我应该添加.js文件(d3.v2.js),还是从Github中提取的tarballed master?

谷歌告诉我Google。随后的谷歌提醒我需要Google。


目录树:

.
 |-build
 |---classes
 |-src
 |-WebContent
 |---foo.html
 |---META-INF
 |---WEB-INF
 |-----lib
 |---d3
 |-----d3.v2.js

从foo.html到d3.v2.js的相对路径应为:“../ d3 / d3.v2.js”

  • 但是,也许不是。我不知道。
  • 每当我从foo.html引用d3.v2.js时都没有任何反应。没有任何反应,我的意思是在浏览器中没有任何视觉效果,这表明d3.js甚至存在。

将'd3.v2.js'添加到Eclipse中我执行了以下步骤:

  1. Foo - >新 - > JavaScript源文件 - >高级 - >链接到文件系统中的文件 - > /home/tyler/workspace/foo/d3/d3.v2.js

  2. 尝试了5条不同的路径。他们都没有工作(你必须使用相对的,绝对的吗?)

    • SRC = “/家/泰勒/工作区/富/ D3 / d3.v2.js”
    • SRC = “../ D3 / d3.v2.js”
    • SRC = “/富/ D3 / d3.v2.js”
    • SRC = “d3.v2.js”
  3. 因此,我在Eclipse中删除了对d3.v2.js的引用,并尝试添加为库。

  4. Foo - > JavaScript资源 - >添加JavaScript库 - >用户库 - 配置用户库 - >新 - > “D3” - >添加.js文件 - > d3.v2.js(位置:/ home / tyler / workspace / Snotra / d3

  5. 尝试了一堆路径。

    • SRC = “d3.v2.js”
    • SRC = “../ D3 / d3.v2.js”
    • SRC = “/富/ D3 / d3.v2.js”

      1. 冲洗,重复。
  6. 有什么想法吗?我知道这很简单,但我不明白向Eclipse添加JavaScript库的基本原理。

    foo.html

    <!DOCTYPE HTML>
    <html lang="en">
        <head>
            <meta http-equiv="content-type" content="text/html" charset="utf-8" />
                <title>Tyler J. Fisher</title>
                <link rel="stylesheet" href="master.css" />
            <script type="text/javascript" src="../d3/d3.v2.js"></script>
        </head>
    
        <body>
             <section id="foo_view">
                <script type="text/javascript">
                                document.write("test"); <!--Works-->
                    var dataset[1,2,3,4,5];
                    d3.select("body").selectAll("p") <!--Doesn't work-->
                        .data(dataset)
                        .enter()
                        .append("p")
                        .text("RABBLE");
            </script>
         </section>
        </body>
    </html>
    

    文件撰写( “测试”);作品。

    d3.js代码没有。

    所以(也许):

    • 相对路径必须关闭(或者我必须使用绝对路径)
    • Tomcat6未正确提供JavaScript(由于人为错误)
    • Eclipse未正确提供JavaScript(由于人为错误)

1 个答案:

答案 0 :(得分:6)

Eclipse部署到Tomcat的内容是WebContent内部的内容。如果您的JS文件不在WebContent中,则它们不会成为已部署的Web应用程序的一部分。

您需要了解Eclipse向您展示的是开发,源文件夹。部署的不是此文件夹,而是符合Java EE规范的目录结构:

  • WebContent中的所有内容都是已部署存档的一部分
  • Java源文件被编译并存储在已部署存档的WEB-INF /类中
  • 源目录下的非Java文件复制到已部署存档的WEB-INF /类
  • 所有其他文件不属于已部署的存档。