7

私は大学の JSP プロジェクトのフロントエンド開発者であり、これまでマークアップと CSS/Less の作成に Sublime Text 2 を使用しており、プロジェクト ディレクトリをwebappsフォルダーに配置した手動で構成された Apache Tomcat から直接プロジェクトを実行していましたが、その後、プロジェクトはサーブレットを使用する必要があり (明らかに)、私は IDE の必要性を認識しましたが、開発部門の同僚は現在 IDE の使用を主張しています。

プロジェクト全体を NetBeans 7.1.1 に移植しました。これまでのところ、プロジェクトは正常に動作し、NetBeans はサーブレットとその web.xml 構成を作成/管理する手間をすべて処理しますが、私は主にマークアップと Less を扱います。ここで本当に退屈です。私が直面している問題は次のとおりです。

  • Less ファイルは、構文がまったく強調表示されません。(ただし、ファイルに構文ハイライトを追加するこの方法を参照しました)。.less

  • マークアップや CSS を変更するたびに、F5 キーを押して、ブラウザーで新しいタブが起動し、変更が反映されるまで待つ必要があります。(ブラウザーでのページの更新は、以前の JSP 開発の方法で機能していたため、機能しません)。見た後にタブを閉じないと、10 個の変更に対して 10 個のタブを想像してみてください。

  • 私は jQuery をよく使ってきましたが、自分の.jsファイルに警告が表示されるのは本当にイライラします (NetBeans が正しい問題を指摘している可能性があることは知っていますが、自分のコードで「賢すぎる」ことは望んでいません)。

  • Web デザイナーは、「css に変更を保存し、ブラウザーでページを更新する」頻度を知っているでしょう。そして、IDE はこのプロセス全体を遅くするだけです。

IDE を使用する明らかな利点はわかっていますが、上記の問題に対する修正はありますか?

また、NetBeans に切り替える前に、プロジェクトを Eclipse に移植しようとしました (縮小された jQuery ファイルではうまくいきませ.jsんでした)。 Web-Content ディレクトリ内。手動で URL にアクセスしてこれらのファイルにアクセスできたにもかかわらず、スクリプトとスタイルシートの 404 エラーしか表示されませんでした。次のように:.css.less<script><alt>

<link rel="stylesheet/less" href="less/styles.less" media="all" />
<!-- Above line doesn't include the file and I get 404 error -->

しかし

Visiting to localhost:8080/MyProject/less/styles.less 
   shows me its content in the browser.

また、IDE を使用せずにサーブレットを操作しようとしました (私の Java コードは単純なので、IntelliSense のような編集の必要性を感じません) 。このリンクを参照しました。説明しましたが、ApacheのlibフォルダーへのパスがWindowsの変数に既に追加されているにもかかわらず、コンパイル時servlet-api.jarに指定apache-tomcat\libする必要がある理由がわかりません。classpathCLASSPATH

SO モデレーターによって「モデレート アウト」される可能性が高いこの 1 つの質問の中にあまりにも多くの質問があることはわかっていますが、私のすべての質問は、IDE を使用せずに JSP/サーブレットを開発し、ページを設計しなければならないという 1 つの問題を示唆しています。かなり有能なテキスト エディター AKA Sublime Text です。

しっかりとした解決策を教えてください。

4

1 に答える 1

4

新しいツールへの変更は決して簡単ではありませんが、長期的には、Java Web アプリケーション開発 (NetBeans など) に IDE を使用することで最終的に利益が得られると思います。

NetBeans は、HTML、JavaScript、および CSS 用の優れたテキスト エディタです。構文の強調表示、書式設定、コード補完、インライン ドキュメント、CSS の色/効果のプレビュー、および検証を提供します。

NetBeans は、マシン上で実行されている Tomcat インスタンスにデプロイするように簡単に構成できます。その後、NetBeans 内での HTML、JSP、および CSS の編集は、通常、実行中のアプリケーションに自動的に反映されます (F5 でページを更新するだけで済みます)。

CSS の変更が実行中のアプリケーションに自動的に反映されない場合があります。

  • ビルド プロセス中に CSS を縮小しているため、ブラウザーが CSS の縮小バージョンをロードしている場合 (たとえば、YUI コンプレッサーを使用して、CSS の開発が完了するまでこれを使用したままにしておくのが最善です)。
  • ある種の CSS ファイル キャッシング フィルタを使用している場合。たとえば、CSS ファイルの有効期限ヘッダーを明示的に設定しているため、ブラウザが一定期間 CSS をキャッシュするようになっています。
  • 外部エディタで JS/CSS を編集できます。NetBeans は、外部エディタによる変更を非常にうまく検出しますが、最新の変更が NetBeans エディタ自体の内部で行われていない限り、これらを検出しないことがあります。

インスタント アップデートが発生していないため、これは NetBeans 自体が原因ではなく、LESS の使用に問題があると思われます。

私は自分で LESS を使用したことはありませんが、Quick tip: LESS.js in development and watch modeで解決策を見つけました。明らかに、HTML5 ブラウザーで less.js を実行している場合、生成された CSS をキャッシュするためにローカル ストレージが使用されます。これは通常の使用には適した機能ですが、CSS の変更の結果がすぐに表示されないため、CSS を開発している場合は必要ありません。解決策は、LESS の監視モードと開発モードを使用することです。Watch モードでは CSS が自動的に更新され (F5 キーを押す必要はありません)、開発モードでは CSS がキャッシュされなくなります。

less スタイルシートと less.js スクリプトがロードされた後に次の JavaScript を追加することで、watch モードを有効にすることができます。

<script type="text/javascript">
     less.env = "development";
     less.watch();
</script>

JavaScript に関して NetBeans が賢すぎると思われる場合は、 JSLintがそれをどのように処理するかを確認する必要があります。私は常にFirefox HTML Validator 拡張機能を使用しています(緑の目盛りを見るために生きています!)。NetBeans の警告は少し恐ろしく見えるかもしれませんが、標準に準拠し続け、今後の問題を回避できるようにするためのものです。

「プロジェクト全体を NetBeans 7.1.1 に移植した」というあなたの言葉を見て少し心配になりました。個人的には、IDE に依存しないビルド ツール (Ant や Maven など) を使用してプロジェクトをビルドすることをお勧めします。NetBeans は、これらのツールの両方を非常によくサポートしています。私自身、Maven の大ファンです。これらのビルド ツールを使用すると、IDE を使用せずに、代わりにコマンド ラインを使用してアプリケーションのインスタンスをビルドできます

ちなみに、Git や Subversion などのバージョン管理システムを使用してプロジェクト ファイルの変更を共有していただければ幸いです。IDE を使用すると、バージョン管理システムを簡単に操作できます。

あなたの他の質問に関連して。Apache と Apache Tomcat は、2 つの異なるタイプのサーバー ソフトウェアです。多くの場合、Apache サーバーは Tomcat サーバーの前にインストールされます。サーブレットをコンパイルするとき、Java コンパイラは servlet-api.jar のコピーにアクセスする必要があります。Tomcat の lib ディレクトリには Java ライブラリ ファイル (servlet-api.jar など) が含まれます。Apache の lib ディレクトリには、Java ライブラリ ファイルではなく、Apacheネイティブ実行可能ファイルによって使用されるコンパイル済みの C ライブラリが含まれます (これらは、さまざまな目的のためのさまざまな種類のライブラリです)。

于 2012-04-11T21:39:19.150 に答える