2017-07-21 3 views
1

私は非常に大きなmavenプロジェクトを持っています。私がデバッグしているときは、変更を見るだけでプロジェクト全体を再構築する必要があります。私の現在の方法は、IntelliJでjavaファイルをコンパイルし、ターゲットディレクトリのクラスファイルをtomcat/webapps/project /ディレクトリにコピーし、既存のクラスファイルをintellijコンパイル済みクラスファイルに置き換えます。その後、warファイルを再構築し、tomcat/webappsディレクトリ内の既存のwarファイルで置き換えます。コマンドラインからIntelliJのJavaコンパイラにアクセスするにはどうしたらいいですか?

私はこのプロセスを自動化したいと考えています。私はjavacコマンドで調べてみましたが、パッケージの問題は.m2ディレクトリのjarファイルからインポートされているため、特定のファイルに応じてクラスパスを自動化する方法を理解できません。 IntelliJは自動的にこれを行い、コマンドラインからIntelliJのコンパイラを実行する方法があるのか​​、プロジェクト全体のスコープ内の1つのファイルだけでjavacを動作させる方法について誰かが洞察しているのかどうか疑問に思っていました。

ご協力いただきありがとうございます。

+0

あなたはmavenを使用しているので、[mvn](https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html)コマンドを使用することができます – litelite

+0

私はあなたが展開しようとしているものはほとんど分かりませんが、戦争のようなことをしてTomcatをコピーするのではなく、爆発した戦争に向けるべきです。 – Compass

+0

Mavenを使用しています。右側に「Maven」というタブがありますか?これはあなたが望むならMavenを使ってプロジェクトをインポートする方法です。 – Makoto

答えて

1

IntelliJデリゲート(デフォルトでは、Eclipseコンパイラなどに委譲するオプションがあります)をjavacコンパイラに委譲します。

プロジェクトをIntelliJにインポートしたくない場合は、コマンドラインからmavenを使用してプロジェクトをビルドできます。

プロジェクト全体をビルドしたくない場合は、コマンドラインからjavacを使用できます。

は、あなたのクラスパス、使用を生成するには: MVN依存性:あなたのクラスパスに含まれています

のclasspath.txtのclasspath.txt -Dmdep.outputFile =-クラスパスを構築します。

これから行うことができます:javac -cp(classpath.txtの内容)あなたのJavaファイル。

IntelliJは大規模なMavenプロジェクトでも高速で、Tomcatが指摘する爆発的な戦争に簡単にコンパイルできます。 IntelliJの恩恵を受けたくない理由について私には不明です。

+0

IntelliJはローカルマシンにあり、TomcatサーバーはVM上にあるので、私はそれをscpしなければならないと言いました。私が作業しているソースファイルは、サーバーからローカルマシンにマウントされます。しかし、クラスパスを生成するためのmvnコマンドは私にとっては完璧に機能しました。どうもありがとう! –

関連する問題