9

数週間の努力の末、これを投稿しています。これに似たスレッドがあるので、これを投稿することに罪悪感を感じたので、試してみます。しかし、それでもわずかに異なるエラーが発生します。だから私が持っているのは、mavenを使った非常に単純な春のアプリケーションです(もちろん春である必要はありません.bczの問題はmavenにあります)。

これは私の pom のプラグイン セクションです。

<plugins>

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.0</version>
            <configuration>
                <url>http://localhost:8080/manager</url>
                <username>tomcat</username>
                <password>s3cret</password>
                <path>/Test</path>
                <port>8080</port>
            </configuration>
        </plugin>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>

以前は、maven tomcat プラグインが tomcat 7 などで動作しないなどの問題がありましたが、現在は「tomcat7-maven-plugin」で解決されています。http://localhost:8080/managerURL として「 」を使用しています。この maven tomcat コンパイラ プラグインに関するほとんどすべてのスレッドは、ビルドの失敗に関するものです。しかし、私のビルドは成功しました (私は tomcat7:deploy として実行しています)。問題はTomcatが応答していることです

tomcatManager ステータス コード:403、ReasonPhrase:Forbidden

ブラウザで認証に失敗したときに表示される html とともに。私の Linux ボックスでは、同じコードが正常に動作します。.m2 内や maven_home/conf 内などにある settings.xml でサーバー要素を使用するさまざまなシナリオを試してみましたが、まだ機能していません。

私が理解しているように、mavenはTomcatを認証できません。ユーザー名とパスワードが見つかり、GUI を使用してログインできます。だからここで助けを期待しています。

ps - 私の tomcat-users.xml フィールド

<role rolename="manager-gui" />
<user username="tomcat" password="s3cret" roles="manager-gui"/>
4

5 に答える 5

10

URL が正しくありません:

<url>http://localhost:8080/manager/text</url>

tomcat-users.xml ファイルの内容は何ですか。パーミッションを正しく設定しましたか? http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.htmlを参照してください。

于 2013-02-20T09:54:45.073 に答える
0

Tomcatのデプロイ作業を行うことはできましたが、環境が異なります。とにかく、誰かを助けるかもしれないので、どうすればそれができるかを説明します。

この場合、Webコンテナとしてtomcat6があり、IDEとしてEclipseHeliosを使用しています。

まず、Maven Webサイト(Mavenダウンロードインストールヘルプ)で説明されているように環境変数を設定しました。つまり、環境変数M2_HOMEとM2が設定され、M2がパス変数に含まれています。

次に、Eclipseには、Mavenインストールフォルダー、ローカルリポジトリ(デフォルトでない場合)、およびsettings.xmlファイルが正しくあります。(これらの設定は、[ウィンドウ]->[設定]->[Maven]-> [インストールとユーザー設定]にあります)

tomcat_home \ conf \ tomcat-users.xmlで、ロールmanager-scriptを使用してユーザーを作成しました(ここではtomcat6を使用していることに注意してください)。

< role rolename="manager-script"/>
< user password="s3cret" roles="manager-script" username="tomcat"/>

POM.xmlには、次のように定義されたmaventomcatプラグインがあります。

<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
    <url>http://localhost:8080/manager</url>
    <server>TomcatServer</server>
</configuration>
</plugin>

次に、Eclipseの実行構成で、目標「tomcat6:deploy」を実行するための構成を作成します(apacheのこのサイトでは、tomcat:deployが目標であると述べていますが、機能しませんでした)。

これは完全に実行され、アプリをコンテナーにデプロイします。デプロイしたら、再度デプロイする前に「tomcat6:undeploy」を使用してアプリのデプライを解除する必要があります。

私はこれについての専門家ではありませんが、それでもいくつかの事実に疑問があります。しかし、私は多くの場所でこの質問を見たので、これは誰かに同じ問題を助けるだろうと思いました。

ありがとうございました

于 2013-02-24T10:05:18.403 に答える
0

今日、Tomcat 7 で同じアプリケーションを試しました。プラグインの artifactId を「tomcat7-maven-plugin」に変更する必要があります。URL を " http://localhost:8080/manager" に変更する必要があります。これらの変更を行った後、展開は正常に機能します。また、maven が .m2 フォルダー内の settings.xml を読み取ることもわかりました。mvaen_home/conf 内にも settings.xml ファイルがありますが、読み込まれたファイルではありません。私が見つけたもう 1 つのことは、Tomcat6 の tomcat7 にはアンデプロイがなく、アンデプロイがあったことです。

于 2013-02-25T17:52:24.173 に答える
0

上記の条件がすべて一致してもエラーが発生する場合は、mvn tomat7:deploy コマンドを使用している可能性があります。同時に、サーバーは Eclipse によって維持されます。Eclipse IDE でサーバーを停止し、mvn コマンドで再試行できます。

于 2013-04-12T17:22:10.163 に答える