我是我的大学JSP项目的前端开发人员,到目前为止我使用Sublime Text 2编写标记和我的CSS/Less并直接从Apache Tomcat运行项目,我将项目目录放在webapps文件夹中,但是后来,该项目需要使用Servlets(显然),我意识到IDE的需要,而开发部分的同事现在坚持使用IDE.
我们将整个项目移植到NetBeans 7.1.1,到目前为止,项目工作正常,NetBeans负责创建/管理Servlet及其web.xml配置的所有麻烦,但我主要处理标记和Less,这是这里真的很乏味.以下是我面临的问题:
较少的文件根本没有语法突出显示.(虽然我提到了这种向.less文件添加语法高亮的方式).
每次我对标记或CSS进行更改时,我都需要按F5并等到浏览器中的新选项卡启动以反映更改.(浏览器中的刷新页面不像以前的JSP开发方式那样工作).如果我看到之后没有关闭标签,想象10个标签可以进行10次更改.
我经常使用jQuery,在我的.js文件中看到警告真的很烦我(我知道NetBeans可能指向正确的问题,但我根本不希望它对我的代码"过于聪明").
Web设计人员会知道"在浏览器中保存更改到css和刷新页面"的频率.而IDE只会减慢整个过程.
我知道使用IDE的明显优势,但有没有解决上述问题?
另外,我想移植我的项目到Eclipse(它只是疯了的精缩jQuery的文件),转向NetBeans的面前,但它只是拒绝使用相对路径为我.js,.css而且.less在<script>和<alt>标签,即使所有的文件和文件夹存在在Web内容目录中.我得到的只是我的脚本和样式表的404错误,尽管我可以访问这些文件,我手动访问URL.如下:
<link rel="stylesheet/less" href="less/styles.less" media="all" />
<!-- Above line doesn't include the file and I get 404 error -->
Run Code Online (Sandbox Code Playgroud)
但
Visiting to localhost:8080/MyProject/less/styles.less
shows me its content in the browser.
Run Code Online (Sandbox Code Playgroud)
此外,我试图在不使用IDE的情况下使用Servlet(我的Java代码非常简单,以至于我觉得不需要类似IntelliSense的编辑)并提到了这个链接,并且如果我以与解释,但我不明白为什么我需要指定servlet-api.jar的apache-tomcat\lib在classpath在编译的inspite的事实,我有路径已经加入到Apache的lib文件夹的时间CLASSPATH变量在Windows中.
我知道在这个单一问题中有太多问题可能会被SO主持人"缓和",但我的所有问题都暗示了必须开发JSP/Servlet并在不使用IDE的情况下设计页面的单个问题,以及只是相当有能力的文本编辑器AKA Sublime Text.
请建议我一个坚定的解决方案.
我相信,从长远来看,您最终会从使用 IDE 进行 Java Web 应用程序开发(例如 NetBeans)中获益,尽管更换新工具绝非易事。
NetBeans 是一款优秀的 HTML、JavaScript 和 CSS 文本编辑器。它提供语法突出显示、格式化、代码完成、内联文档、CSS 颜色/效果预览和验证。
NetBeans 可以轻松配置为部署到您计算机上运行的 Tomcat 实例。此后,NetBeans 中对 HTML、JSP 和 CSS 的任何编辑通常都会自动反映在您正在运行的应用程序中(仅需要 F5 页面刷新)。
在某些情况下,CSS 更改不会自动反映在正在运行的应用程序中。
由于您没有遇到即时更新,我认为这是您使用 LESS 的问题,而不是 NetBeans 本身的问题。
我自己没有使用过 LESS,但在快速提示:开发和监视模式下的 LESS.js 中找到了解决方案,显然如果您在 HTML5 浏览器中运行 less.js,则本地存储将用于缓存生成的 CSS。对于正常使用来说,这是一个很好的功能,但在开发 CSS 时,这不是您想要的功能,因为您不会立即看到 CSS 更改的结果。解决方案是使用LESS的监视和开发模式。监视模式使您的 CSS 能够自动刷新(无需按 F5),而开发模式将阻止 CSS 被缓存。
您可以在加载 less 样式表和 less.js 脚本后添加以下 JavaScript 来启用监视模式。
<script type="text/javascript">
less.env = "development";
less.watch();
</script>
Run Code Online (Sandbox Code Playgroud)
如果您认为 NetBeans 对您的 JavaScript 过于聪明,您应该看看JSLint会如何处理它!针对您的代码运行太多高质量工具可能会有点破坏灵魂,也就是说我总是使用Firefox HTML Validator 扩展(我活着就看到了绿色的勾号!)。NetBeans 警告可能看起来有点吓人,但它只是试图让您符合标准,以帮助您避免进一步出现问题。
当我看到您的短语“将整个项目移植到 NetBeans 7.1.1 ”时,我有点担心,我个人建议您的项目应该使用与 IDE 无关的构建工具(例如 Ant 或 Maven)来构建。NetBeans 对这两个工具都有很好的支持,我自己就是 Maven 的忠实粉丝。使用这些构建工具意味着您可以避免使用 IDE,而是使用命令行构建应用程序实例。
顺便说一句,我希望您使用 Git 或 Subversion 等版本控制系统来共享项目文件更改,IDE 也使使用版本控制系统变得容易。
关于你的另一个问题。Apache 和 Apache Tomcat 是两种不同类型的服务器软件。Apache 服务器通常安装在 Tomcat 服务器之前。编译 Servlet 时,您的 Java 编译器将需要访问 servlet-api.jar 的副本。Tomcat 的 lib 目录包含 Java 库文件(例如 servlet-api.jar),Apache 的 lib 目录将包含 Apache 本机可执行文件使用的编译的 C 库,而不是 Java 库文件(这些是用于不同目的的不同类型的库)。
| 归档时间: |
|
| 查看次数: |
1677 次 |
| 最近记录: |