2016-10-19 5 views
1

私のチームは基本的にEclipseを宗教的に使っていますが、請負業者とフリーランサーはIDEとワークフローの好みが異なります。この問題は、Spring/Maven/Tomcatアプリケーションをeclipse(または他のIDE)なしでユーザーフレンドリーな方法で実行しています。私は、 "mvn run"やシンプルな.shと.batファイルのようなクイックコンソールコマンドが必要であると思っています。 Eclipseによる日食のようなTomcatアプリを実行しますが、日食はありません

次のことができます。

  • 右クリックプロジェクトは、 - >サーバー上

素敵な部分を実行し、Eclipseがプロジェクトをスキャンし、あなたも再起動せずに入力するなどのリソースを更新します。 - >として実行Tomcat。また、EclipseはTomcatに何も移動せずにWARを作成する必要もなく、ワークスペースからプロジェクトを実行します。オプションは言う、私はそれらを伝えるために何を知っているすべてが実行され、「使用のワークスペースのメタデータ(Tomcatのインストールを変更しません)」

Here the settings in eclipse for my Tomcat

しかし、日食せずに、「MVNのインストール」そして/ペーストwarファイルをコピーしますTomcatの "webapps"ディレクトリに移動します。このプロセスは非常に面倒で、私は通常、彼らに日食を使用するように説得し、私にはぼんやりとした顔を与えます。

私たちのビルドスタックはそうです:Maven、ANT、NPM、Grunt。これらの4つのうちのどれかを使って外部のTomcat上で簡単にプロジェクトを実行する魔法はありますか?私は本当に同じ状況でいくつかの話を聞きたいと思っています。

私がオンラインで見つけたのは、すべてhttps://www.mulesoft.com/tcat/tomcat-reloadでした。これが私が探しているものなのかどうかは分かりません。

maven-tomcatはv7のみであるため、スタンドアロンのTomcat v9を使用しています。

はすべて

答えて

0

ビルドスクリプトを変更する必要はありません。

Tomcatで直接.warファイルを指すcontext.xmlファイルを作成し、 "reloadable"にします。

例:$TOMCAT_BASE/conf/Catalina/localhostで、必要なコンテキスト名でファイルを作成します。 MyApp.xml。これにより、localhost:8080/MyAppがあなたのアプリ(またはそれが受信しているポート)のURLになります。

ファイルの内容は次のようになります。

<Context docBase="C:/path/to/MyApp.war" reloadable="true" /> 

C:接頭辞なしでWindows上でいないのであれば、もちろん。

これで、.warファイルを更新するたびに、 mvn installを使用すると、Tomcatは自動的にアプリをリロードします(若干の遅延、私は信じている最大20秒)。

+0

これは私が話していることです。これは私にアイデアを与えます。私はANTを使って "MYAPP_HOME"を設定し、devsに "CATALINA_HOME"が既に設定されていることを確認できます。次に、スニペットファイルをtomcatに移動する必要がある場所にコピーできます。 <コンテキストdocBase = "%MYAPP_HOME%/ path/to/war" reloadable = "true" /> ' –

0

は注意をお願いのmaven-Tomcatが だけV7であるので、我々は、スタンドアロンのTomcat V9を使用しています。

私はその文を理解していません。

tomcatに展開するには、maven cargoまたはmaven tomcatプラグインを使用できます。 Tomcatのプラグインの

、これを見て:それはTomcatの9で動作しますが、Tomcatの8で、それは完璧に動作するかどうか、私は知りません http://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin/ 。 あなたはそのプラグインを試しましたか?貨物については

は、これを見て:両方の場合 https://codehaus-cargo.github.io/cargo/Deploying+to+a+running+container.html

を使用すると、ライフサイクルの、適切な位相と展開をトリガするために、あなたの戦争をパッケージ化する場合は、アイデアは、あなたのpom.xmlにプラグインを構成しています(フェーズはデフォルトでバインドされていますが、変更することはできます)。

たとえば、Tomcat Mavenプラグインの例では、Tomcatプラグインに、統合前のテスト段階で、基になるpomによって生成されたアーティファクトを展開するように指示します。xml:

<project> 
    <packaging>war</packaging> 
    ... 
    <build> 
    ... 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.apache.tomcat.maven</groupId> 
     <artifactId>tomcat7-maven-plugin</artifactId> 
     <version>2.3-SNAPSHOT</version> 
     <configuration> 
      <url>http://localhost:8080/mymanager</url> 
     </configuration> 
     <executions> 
      <execution> 
      <id>tomcat-deploy</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>deploy</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     ... 
    </plugins> 
    ... 
    </build> 
    ... 
</project> 

詳しくは、公式文書をお読みください。

+0

ありがとう、本当にありがとうございます。その後、私はCodeHaus Cargoを試してみるつもりです。これは、TomcatとStandaloneを組み込むことの間の幸せな媒体のようです。 私のプロジェクトはTomcatをあなたのためにインストールでき、Cargoはあらゆる種類の楽しいマジックを追加します。 この部分:mavenの-tomcatにのみ v7._私は単にあなたが言及したtomcat7-のmaven-pluginのに言及していたされているため _toノート、我々は、スタンドアロンのTomcat V9を使用しているV7の代わりに、TomcatのV9です。私はできるだけ最新の状態にとどまるよう努めています。 –