質問

MVN Tomcat:Tomcat-Maven-Pluginの展開を使用すると、403エラーがあります。

目標org.codehaus.mojo:tomcat-maven-plugin:1.0:deploy(default-cli)Project my-webapp:tomcat manager:server returned http応答コード:403 for url: http://localhost:8080/manager/text/deploy?path=%2Fdms&war=

Null Warパラメーターのためにそれを考えています。しかし、なぜそれはヌルですか?

pom.xmlには次のようなものがあります。

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tomcat-maven-plugin</artifactId>

  <configuration>
    <warFile>target\my-webapp.war</warFile>
    <server>myserver</server>
    <url>http://localhost:8080/manager/text</url>
    <path>/dms</path>
  </configuration>
</plugin>
役に立ちましたか?

解決

/manager アプリケーションは、デフォルトでユーザー名/パスワードで保護されています。あなたが入った場合 http:// localhost:8080/manager セキュリティの資格情報も提供するように求められます。最初にTomcatでユーザーを作成/有効にします:キャンセルした後、または試行に失敗した後、Tomcatはエラー画面でヘルプを提供します。次に、これらの資格情報を使用します tomcat-maven-plugin 説明されているように ここ:

pom.xmlにプラグイン構成ブロックを追加します:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
            <server>myserver</server>
    </configuration>
</plugin>

settings.xmlに対応するサーバーブロックを追加します:

<server>
    <id>myserver</id>
    <username>myusername</username>
    <password>mypassword</password>
</server>

他のヒント

使用 /テキストを使用する必要があります。

http:// localhost:8080/manager/text

また、ユーザーロールマネージャースクリプトに追加します

Tomcat 7を使用しているので、このようにプラグイン構成をpom.xmlに残しておく必要があります。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
        <url>http://localhost:8080/manager/html</url>
        <server>tomcat</server>
        <path>/finance</path>
    </configuration>
</plugin>

上記の例のように、私はバージョンの構成を試しましたが、それは私にとってはうまくいきませんでした。 settings.xml shoudでは、サーバーの構成があり、pom.xmlの値と一致します

<settings>
    <servers>
        <server>
            <id>tomcat</id>
            <username>admin</username>
            <password>admin</password>
        </server>
    </servers>
</settings>

したがって、mvn tomcat:deployまたはmvn tomcat:redeploy(既にアプリを展開している場合)、またはmvn tomcat:run(tomcat down)が機能するはずです。

「/html」を追加してURLを変更するだけで、このようになります http:// localhost:8080/manager/html そしてビンゴそれはその助けを願っています

tomcat7の場合、tomcat-users.xmlではrolenameが必要です マネージャースクリプト また:

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

プロジェクトのpom.xmlで

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>tomcat-maven-plugin</artifactId>
   <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>myserver</server>
        <path>/sw</path>
   </configuration>
</plugin>

およびMavenのsettings.xml:

<servers>
 <server>
  <id>myserver</id>
  <username>tomcat</username>
  <password>s3cret</password>
 </server>
</servers>

それが達成されることを確認する必要があるいくつかの手順があります。これは真のブラックホールになる可能性があります。

org.codehaus.mojoのtomcat-maven-pluginを使用している場合は、この構成を使用する必要があります。

<configuration>
    <url>http://localhost:8080/manager/text</url>
    <warFile>your_war_filename.war</warFile>
    <server>server_name_on_settingsxml</server>
</configuration>

'server_name_on_settingsxml' server資格情報がmaven settings.xmlで定義されていることを確認してください。 MVN Tomcat:Deploy(この「Tomcat」プレフィックスを使用する必要がある)を使用してください。これは、上記の構成を展開するときに読み取られる唯一の方法です。

ただし、org.apache.tomcat.mavenのtomcat7-maven-pluginを使用している場合は、mvn tomcat7:deployを使用する必要があります。 「Tomcat7」プレフィックスは、プラグインから構成を読み取ります。

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>

私はTomcat:Deployを使用していましたが、pom.xmlでTomcat7-Maven-Pluginが定義していました。したがって、Maven Deployは私の構成タグを読み取っていませんでした...

ユーザー名とパスワードが正しく定義され、展開時に正しいプラグインを使用していることを確認すると、機能します。

Codehouse Tomcatプラグインバージョン1.1を使用してTomcat 7サーバーに展開しようとすると、403エラーが発生できます。バージョン1.1はTomcat 7をまだサポートしていません。

Tomcat 7を使用している場合は、貨物を使用する必要があります。

Tomcat 7を使用している場合:

  1. POM.xmlの構成を変更して、プラグインのTomcat 7バージョンを使用します

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
            <url>http://127.0.0.1:8080/manager/html</url>
            <server>TomcatServer</server>
            <path>/your_context</path>
            <username>some_user_name</username>
            <password>some_password</password>
        </configuration>
    </plugin>
    

と値に注意してください - それらはTomcat 6のものとは異なります。

  1. 「Tomcat:deploy」を「Tomcat7:deploy」に変更することを忘れないでください。
  2. settings.xmlにサーバー構成を追加します。通常は.m2フォルダーの下にあります
<server>
    <id>TomcatServer</id>
    <username>some_user_name</username>
    <password>some_password</password>
</server>
  1. 標準以外のフォルダーにあるWARファイルを展開するなど、追加のオプションが必要な場合は、以下にアクセスしてください。 Tomcat 7 Mavenプラグイン

「HTML」の代わりに次の文字列を使用する必要があることがわかりました。

http://localhost:8080/manager/text

これも可能です:

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
        <server>myserver</server>
        <username>admin</username>
        <password>admin</password>
    </configuration>
</plugin>

Tomcat 7を使用する場合は、URLを参照する必要があります http:// localhost:8080/manager/html Tomcatプラグインで。

http://mojo.codehaus.org/tomcat-maven-plugin/examples/deployment-tomcat7.html

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tomcat-maven-plugin</artifactId>
  <version>1.2-SNAPSHOT</version>
  <configuration>
    <url>http://localhost:8080/manager/html</url>
  </configuration>
</plugin>

バージョン7を使用している場合、キャッチがあります。 /マネージャー /テキストリソースへのアクセスは、デフォルトでは有効になりません。

ManangerScriptの役割を持つユーザーを作成する必要があります。 ドキュメンテーション

It would be quite unsafe to ship Tomcat with default settings that allowed anyone
on the Internet to execute the Manager application on your server.
Therefore, the Manager application is shipped with the requirement that anyone
who attempts to use it must authenticate themselves, using a username and
password that have the role manager-script associated with them.
Further, there is no username in the default users file
($CATALINA_BASE/conf/tomcat-users.xml) that is assigned this role.
Therefore, access to the Manager application is completely disabled by default.

To enable access to the Manager web application, you must either create a new
username/password combination and associate the role name manager-script with it,
or add the manager-script role to some existing username/password combination.

それが役に立てば幸い :)

以前は同じエラーを取得していましたが、Tomcat-users.xmlファイルに(マネージャー、マネージャー、管理者、管理者、マネージャー-Script)などの役割を持つユーザー(私の場合は管理者)が含まれていることを確認する必要があります。

UbuntuにTomcat 7、Maven 3があります。

configフォルダーのtomcat-users.xmlのTomcatユーザーにManagerScriptとManagerの役割を追加するだけです。 Tomcat 7では、この場合にテキストに移行するさまざまなマネージャーGUIアクセスの異なる役割を指定する必要があります。テキストインターフェイスの最後に、マネージャースクリプトの役割を使用する必要があります。

〜/.m2/settings.xmlで構成ファイルを確認する必要があります。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <proxies/>
  <profiles/>
  <activeProfiles/>
</settings>

その後、サーバーconfがプロジェクトに正しいことを確認する必要があります。

  <servers>
     <server>
        <id>mytomcat</id>
        <username>test</username>
        <password>test</password>
     </server>
  </servers>

後でmvn tomcat:展開します。また、Tomcat:Deploy -Xを実行することもできることを忘れないでください。Debbugを参照してください。

このソリューションは、「apache」tomcat7プラグイン用です:URLの最後に「/テキスト」を追加する必要がある前に既に言及されているように

<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
    <port>8080</port>
    <path>/deployPath</path>
    <url>http://localhost:8080/manager/text</url>
    <server>TomcatServer</server>
</configuration>

.m2フォルダー内にある「settings.xml」を構成します

<servers>
    <server>
        <id>TomcatServer</id>
        <username>script-admin</username>
        <password>password</password>
    </server>
</servers>

Tomcat 7を使用しているため、最も重要なことは、ドキュメントで言及されているように、「マネージャー」ロールの別のユーザーを作成する必要があることです。

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

ユーザー名とパスワードに関する問題に直面している場合は、心配しないでください、Tomcatディレクトリに名前が付けられたファイルがあります tomcat-user.xml, 、そこに移動して、名前とパスワードの属性を確認し、プロンプトがユーザー名とパスワードを求めるときに使用します。

まだApacheのホームページを開くことができない場合は、Tomcatディレクトリに別のファイルがあります。 server.xml これに移動してポート8080を変更します

プラグインM2EclipseでEclipseを使用している場合、これらのソリューションを試した後もこのエラーが発生している場合、このプラグインにはマネージャーが含まれていないためかもしれません。 Tomcatを個別にダウンロードし、Eclipseを使用して使用する必要があります(このリンクを確認してください。 Tomcat-Maven-Plugin:サーバーはHTTP応答コードを返しました:403)

tomcat6からtomcat7の要約に移ります:

  1. tomcat-user.xmlに役割を追加します
  2. URLにテキストまたは /htmlを追加します
  3. プラグインバージョンを変更します

    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.2</version>
    
  4. オプションを変更するtomcat:tomcat7でデプロイ:デプロイ

私は3日以上過ごしました サーバーが返されたHTTP応答コード:400 NetBeansがバンドルされたTomcat Server 8.0にWebアプリケーションを展開しようとしている間。使ったとき mvn tomcat7:deploy コマンドラインでは、すべてが完璧に機能しましたが、NetBeans IDEを通じて成功しませんでした。 pom.xmlでTomcat Mavenプラグインを設定しました

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>tomcat</server>
    </configuration>
</plugin>

.m2/conf/settings.xml for mavenのサーバーレコード、

<settings>
    <servers>
        <server>
            <id>tomcat</id>
            <username>admin</username>
            <password>admin</password>
        </server>
    </servers>
</settings>

tomcat-users.xmlの適切なtomcatユーザーでさえ

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

しかし、まだ成功しません。根本的な原因は、当社とNetBeansの設定で使用されるプロキシサーバーでした。 NetBeansでは、ツール - >オプションに移動し、[一般的な]タブで、システムプロキシ設定の代わりに手動プロキシ設定を使用します (システムプロキシ設定が機能していても)。それは私を助けてくれました、そして今、私はNetBeansからTomcat 8にWebアプリを直接展開することができます。 LocalHostサーバーのみを使用している場合、プロキシを設定しないこともできます。私のトラブルの根本原因は、オプションシステムプロキシ設定のソースであるデフォルトのWebブラウザでの悪いプロキシセットでした。

また、403エラーも取得されますが、Apache 2を介して接続した場合にのみ、ポート8080を使用してTomcatに直接展開すると機能します。そう: ポート8080をURLに追加してみてください

私はまだApacheで動作しない理由を理解しようとしています。私は使っている ProxyPass / ajp://localhost:8009/

<Location "/manager" >
     Order allow,deny
     Allow from 62.245.147.202
     Satisfy Any
   </Location>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top