-1

在设置项目以执行完整的 Java、Angular.js、TDD/BDD 堆栈时遇到了一些问题。到目前为止,这些问题还不是一个障碍,但它们可能会变成一个障碍。

我正在使用带有 WTP、JSDT 和 Angular 插件的 Eclipse 4.6.0 Neon。

我现在看到的两个危险信号是:

  • 在“Javascript Resources”文件夹中,Eclipse 显示了一个“ECMA 3 浏览器支持库”。这应该是 ECMAscript 5 吧?(如果不是 6!)由于 Neon 刚刚问世,我什至无法更改它有点令人惊讶,因为我可以更改 Java 版本,例如在项目方面对话框中。

  • HTML 和 CSS 文件隐藏在 src/main/webapp 中。我不必单击 3 次即可访问它们,它们应该像 Java 或 JS 文件一样易于单击。为什么在 Project Explorer 视图中没有与我的项目中的“Java 资源”和“Javascript 资源”相匹配的“Web 资源”?

就像我在这一点上所说的那样/似乎/都不重要,但我不想在将来的问题上浪费大量时间,并发现我应该以不同的方式设置我的项目。我也很高兴听到这是不可能的,我应该将这些技术分成不同的项目,比如一个只用于 Web 服务,一个用于 JS。为了遵循这一思路得出结论,我也很高兴听到我应该放弃 Eclipse 并返回命令行。

2016 年 8 月 1 日更新 Eclipse 项目陷入困境,在我创建了 bower.json 项目文件后,我无法停止并且无法识别一些永无止境的过程。

我会将 Java 和 JS 分离到单独的项目中,然后从那里获取。没有必要将它们放在一起,除了只有一个可部署的工件而不是 2 个的好处,现在这似乎没什么大不了的。

4

2 回答 2

0

回答第二项 [src/main/webapp 需要 3 次单击才能深入了解(与 Java 文件不同)]:

您应该可以右键单击该/webapp/文件夹,然后选择"Build Path"> "Use as Source Folder",然后它将显示在与 Java (src/main/java) 文件夹相同的级别,使您可以一键钻入它。

这是它在 Eclipse 的“包资源管理器”中的外观:

Eclipse 包资源管理器

于 2016-07-28T19:27:27.667 回答
0

我发现在 Eclipse 中的单独项目中设置 Javascript / Angular.js、HTML 和 CSS 更容易,因为 Eclipse 项目配置可能会随着我不断抨击它而上升。

这意味着必须有 2 个可部署的工件,但此时这是可以接受的。在生产方面,如果随着 Eclipse JS 工具的成熟而变得更容易,我将重新组合到一个项目中。

网上所有的谷歌排名靠前的 JS / Angular HOWTO 都假设根本没有 java 或 maven 进入其中,但我有各种用例,我希望 HTML 在 JSP 文件中而不是作为静态文件,所以我创建了一个项目作为 Javascript、Java 和 Maven。

此外,还有一个很棒的 Maven 插件frontend-maven-plugin

  <plugin>
    <groupId>com.github.eirslett</groupId>
    <artifactId>frontend-maven-plugin</artifactId>
    <version>1.0</version>
  </plugin>

也就是说,引用:

Maven-node-grunt-gulp-npm-node-plugin 结束所有 maven-node-grunt-gulp-npm-plugin。

所以这将处理browserifygruntgulp任务的持续集成。

很容易拆分 HTML 和 CSS 资源并将它们放入WebContent为 Eclipse 动态 Web 模块自动创建的目录中。这使得在文件夹树中单击鼠标即可访问它们(与在 src/main/webapp 中单击 3 次相比)。

事实上,使用maven-war-plugin它很简单,可以告诉 Eclipse 从哪里组装各个部分:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
      <failOnMissingWebXml>false</failOnMissingWebXml>
      <warSourceDirectory>${project.basedir}/WebContent</warSourceDirectory>
      <webResources>
        <webResource>
          <directory>${project.basedir}/src/main/javascript</directory>
        </webResource>
      </webResources>
    </configuration>
  </plugin>

为了引入 ECMAScript 5 或 6 支持,我安装了Tern Eclipse 插件,它并没有完全接管项目配置,因为 Eclipse 仍然在其属性对话框中显示 ECMA 3 浏览器库,但它提供了代码完成和验证。

显然,使用 IntelliJ 整个事情会更容易,但希望这是 Eclipse 项目配置的最后一个大型会议,我需要做一段时间,所以我不会去那里。不知道Netbeans。

2016 年 9 月 23 日更新:

Eclipse 项目配置不是很稳定。起初,Angular 插件找不到我的 Angular 代码并在 HTML 中标记错误,除非 Javascript 位于 HTML 所在的同一目录或子目录中。我发现这些错误在我从头开始重新创建 Eclipse 项目后就消失了。

Eclipse 执行的默认验证也不好。他们检查 node_modules 和 bower_components 中的所有内容,除非关闭或使用过滤器重新配置以排除这些目录(有超过 25 个单独的验证配置要做)。

此外,当尝试扫描 angular.min.js 或 d3.min.js 等 3rd 方库中的代码时,Javascript 大纲视图会中断 - 4.6.1 版将于 2016 年 9 月底发布,其中包含解决这个问题。

于 2016-08-06T14:12:54.013 回答