3

私はローカルで Web サービスに取り組んでおり、maven を使用してビルドし、tomcat にデプロイしています。実行構成として使用して、maven プラグインを使用してローカルでmvn tomcat:run実行しています。

現在、私のサービスは、デフォルトのプロジェクト名をコンテキスト パスとして使用してデプロイされています。

http://localhost:8080/myArtifactId/servletPath

代わりに、コンテキスト パスを削除するためにデプロイし、Tomcat Maven プラグインを構成してこの URL にデプロイしたいと思います。

http://localhost:8080/servletPath

このドキュメントごと: http://tomcat.apache.org/maven-plugin-2.1/tomcat7-maven-plugin/usage.html

私はこれを試しています:

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <!-- Why isn't this working??? -->
                <path>/</path>
            </configuration>
        </plugin>

私がしようとしていることがうまくいかない理由、またはこれについて別の方法で何か考えはありますか? 私が述べたように、私はmavenプラグインを介してこれをやろうとしています。

または、これを引数として実行構成に渡す方法を知っている人はいますか? コマンドラインで明示的に渡すと、デフォルトが上書きされる可能性があります。

更新:mvn tomcat7:runまたはコマンドラインから実行mvn clean tomcat7:runすると、これが意図したとおりに機能するようです。しかしMaven Build、Eclipse で実行構成を使用して実行すると、パス変数に入力した内容に関係なく、サービスはデフォルトのアーティファクト ID を使用して開始されますpom.xml

更新:これは、Eclipse Maven プラグインに問題があるようです。コマンドラインからコマンドを実行すると、すべてが期待どおりに機能しますが、Tomcat7:run ゴールで Eclipse/Maven 実行構成を追加しようとすると、プロジェクトはデフォルトのアーティファクト ID コンテキスト パスを使用して実行され続けます。

4

1 に答える 1

1

Maven で問題が発生した場合、ほとんどの場合、プロジェクトの作業ディレクトリを消去するcleanプラグイン ( ) を使用して解決されます。mvn clean

http://maven.apache.org/plugins/maven-clean-plugin/

于 2013-10-04T18:03:19.660 に答える