如何:Maven项目在Eclipse中构建JavaScript

时间:2011-02-09 20:07:39

标签: javascript eclipse maven

如何配置我的pom以使文件夹充当JavaScript构建路径?

我希望开发人员将项目导入eclipse,并在eclipse构建路径中自动拥有JavaScript根文件夹,以便自动完成和其他JavaScript支持工作。

2 个答案:

答案 0 :(得分:5)

这是我的工作,似乎工作正常。我正在使用Eclipse Juno SR2(面向Web开发人员的Java EE)和Maven 3.0.5。 (我不是Eclipse或Maven的专家,所以我确信有更优雅的方式来做这件事。请让我知道!)

根据Maven惯例,我们希望拥有如下所示的项目结构:

- src
 +-- main
   +-- java
   +-- js
   +-- webapp
     +--  WEB-INF
 +-- test
   +-- java
   +-- js

然后我们希望使用以下结构部署Web应用程序:

- /
 +-- js
 +-- WEB-INF
   +-- classes

Maven pom.xml的关键部分位于maven-war-plugin中,它通过src / main / js文件进行复制:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <archiveClasses>true</archiveClasses>
                <webResources>
                    <!-- in order to interpolate version from pom into appengine-web.xml -->
                    <resource>
                        <directory>${basedir}/src/main/webapp/WEB-INF</directory>
                        <filtering>true</filtering>
                        <targetPath>WEB-INF</targetPath>
                    </resource>
                    <resource>
                        <directory>${basedir}/src/main/js</directory>
                        <filtering>true</filtering>
                        <targetPath>js</targetPath>
                    </resource>                        
                </webResources>
            </configuration>
        </plugin>

(我现在正在为我的项目使用Google App Engine,所以appengine-maven-plugin会复制我的java代码和其他资源。)有了这个,你应该能够使用Maven来构建你的项目。还有其他可用的Maven javascript插件,用于测试和依赖等,但我认为这是基本功能。

在Eclipse方面,有两件事:

  • 确保使用已激活JavaScript Project Facet。
  • 在项目属性下 - &gt; JavaScript - &gt;包含路径 - &gt;在Source选项卡中,单击“Add Folder”并选择“src / main / js”。然后,您可以删除默认路径。
  • 在项目属性下 - &gt;部署程序集,添加你的/ src / main / js文件夹,并适当地设置部署路径(从上面的结构,我希望我的javascript转到“/ js”。

我可以管理我的java依赖项并从Maven部署到AppEngine,或者从Eclipse进行代码和调试(在fiddling around之后),这一切似乎都有效。我想将我的前端js测试与Maven集成(可能使用javascript-maven-plugin),但这是另一天的任务。

答案 1 :(得分:0)

Javascript是一种解释型语言,您无需构建或编译它。