向Eclipse项目添加外部JavaScript库?

向Eclipse项目添加外部JavaScript库?,javascript,eclipse,tomcat6,d3.js,Javascript,Eclipse,Tomcat6,D3.js,在向Eclipse项目添加外部JavaScript库时,我应该添加.js文件(d3.v2.js)还是从Github中提取的tarballed master 谷歌让我用谷歌搜索它。随后的谷歌提醒我谷歌搜索的必要性 目录树: . |-build |---classes |-src |-WebContent |---foo.html |---META-INF |---WEB-INF |-----lib |---d3 |-----d3.v2.js 从foo.html到d3.v2.

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

谷歌让我用谷歌搜索它。随后的谷歌提醒我谷歌搜索的必要性


目录树:

.
 |-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,我采取了以下步骤:

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

  • 尝试了5条不同的路径。它们都不起作用(是否必须使用相对、绝对?)

    • src=“/home/tyler/workspace/Foo/d3/d3.v2.js”
    • src=“../d3/d3.v2.js”
    • src=“/Foo/d3/d3.v2.js”
    • src=“d3.v2.js”
  • 因此,我删除了Eclipse中对d3.v2.js的引用,并尝试将其添加为库

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

  • 尝试了一堆路径

    • src=“d3.v2.js”
    • src=“../d3/d3.v2.js”
    • src=“/Foo/d3/d3.v2.js”

    • 冲洗,重复
  • 有什么想法吗?我知道这很容易,但我不理解向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>
    
    
    泰勒·J·费舍尔
    文件。编写(“测试”);
    var数据集[1,2,3,4,5];
    d3.选择(“主体”)。选择全部(“p”)
    .数据(数据集)
    .输入()
    .附加(“p”)
    .文本(“乌合之众”);
    
    记录、书写(“测试”)作品

    d3.js代码没有

    所以(也许):

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

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

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

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

    将d3文件夹移动到WebContent.src=“d3/d3.v2.js”。通过Tomcat部署时,d3仍然不会产生任何形式的输出。从浏览器加载.HTML文件时,它工作正常。消息:/Snotra/d3/d3.v2.js |描述:请求的资源(/Snotra/d3/d3.v2.js)不可用。Tomcat6正在运行。那么,要么你没有按你说的那样放置文件,要么你没有重新部署webapp。我正在查看它……d3.v2.js位于Foo/WebContent/d3/d3.js中。我不会对你撒谎,说我把文件放在了目录中的什么位置。。。