Soru tomcat: konuş: “Tomcat yöneticisini çağırılamıyor: Bağlantı reddedildi”


Uygulamamı Maven kullanarak Tomcat’e dağıtmaya çalıştım ve buldum bu Numune.

Bu benim pom.xml'imin bir parçası:

    <!-- Maven Tomcat Plugin -->
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <configuration>
            <url>http://127.0.0.1:8080/</url>
            <server>TomcatServer</server>
        </configuration>
    </plugin>
    <!-- Maven compiler plugin -->
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>

Ve koştuğumda tomcat:deploy Bu hatayı alıyorum: Cannot invoke Tomcat manager: Connection refused. Bu tam stacktrace:

[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project webapp: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project webapp: Cannot invoke Tomcat manager
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot invoke Tomcat manager
    at org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:149)
    at org.codehaus.mojo.tomcat.AbstractWarCatalinaMojo.execute(AbstractWarCatalinaMojo.java:70)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 25 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    at java.net.Socket.connect(Socket.java:529)
    at java.net.Socket.connect(Socket.java:478)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:227)
    at sun.net.www.http.HttpClient.New(HttpClient.java:300)
    at sun.net.www.http.HttpClient.New(HttpClient.java:317)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)
    at org.codehaus.mojo.tomcat.TomcatManager.invoke(TomcatManager.java:597)
    at org.codehaus.mojo.tomcat.TomcatManager.deployImpl(TomcatManager.java:662)
    at org.codehaus.mojo.tomcat.TomcatManager.deploy(TomcatManager.java:295)
    at org.codehaus.mojo.tomcat.AbstractDeployWarMojo.deployWar(AbstractDeployWarMojo.java:85)
    at org.codehaus.mojo.tomcat.AbstractDeployMojo.invokeManager(AbstractDeployMojo.java:85)
    at org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:141)
    ... 28 more

Kimlik doğrulamayı kullanmak istemediğim için bu adımları atladım. Bunun hataya neden olabileceğini düşündüm ama onları eklemeye çalıştığımda hiçbir şey değişmedi. Benim hatam nerede biliyor musun?

UPD: Üzgünüz, ancak çözümlerimizi kontrol edemiyorum çünkü artık bu projede çalışma yapıyorum. Ama bu soruyu kapatmayacağım, eğer çözümünüzün işe yarayacağını düşünürseniz, bu konuda bir şeyler bırakabilir ve birilerine yardımcı olabilir.


25
2018-03-14 13:38


Menşei


Tomcat çalışıyor ve localhost'a mı bağlı? Nedir netstat -an söyle - Anders R. Bystrup
@Anders Çalışmıyor gibi görünüyor. Tomcat'ı startup.bat kullanarak başlatmaya çalıştım ve sonra tomcat'i başlattım: IDE aaaand'dan konuşlandır ... java.lang.OutOfMemoryError: Java heap space. Ben hata ayıklamaya çalıştım ve maven 128MB büyüklükteki bir diziyi kopyalamaya çalıştığınızda bunun neden olduğunu buldum. - uncle Lem


Cevaplar:


Tomcat 7 eklentisini kullanırken, aşağıdakileri yapın:

pom.xml

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>tomcatserver</server>
        <path>/mycontext</path>
        <username>admin</username>
        <password>admin</password>
    </configuration>
</plugin>

settings.xml

<server>
    <id>tomcatserver</id>
    <username>admin</username>
    <password>admin</password>
</server>

erkek kedi-users.xml

<user username="admin" password="admin" roles="manager-script"/>

koşmak

mvn tomcat7:deploy

25
2018-03-05 02:43



Sadece birisi için yararlı ise, settings.xml .m2 klasörünüzde olmalıdır. Bunu oluşturmanız gerekebilir. - Picarus
Bu şekilde yaparak, pom dosyanızdaki pwd'ye ihtiyacınız yoktur. Tüm dosya şöyle görünüyor: <settings xmlns = "maven.apache.org/SETTINGS/1.0.0"; xmlns: xsi ="w3.org/2001/XMLSchema-instance"; xsi: schemaLocation ="maven.apache.org/SETTINGS/1.0.0  maven.apache.org/xsd/settings-1.0.0.xsd ">; <server> <server> <id> localhost </ id> <kullanıcı adı> komut dosyası-tomcat </ username> <şifre> tomcat </ password> </ server> </ servers> </ settings> - Picarus
Bu çekicilik gibi çalışır ... her iki yerde kullanıcı adı şifre sağlamak zorunda - anshulkatta
Settings.xml ve tomcat-users.xml dosyasını nereye yerleştiriyorsunuz? - botenvouwer
@botenvouwer, tomcat yükleme klasöründeki conf dizininin altında olmalıdır. - superkruger


Bende aynı problem vardı. Benim durumumda koşarak tamir ediyorum run-war yerine deploy yapılandırma ile Tomcat7 için:

         <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <url>http://localhost:8080</url>
                <path>/</path>
            </configuration>
        </plugin>

14
2018-01-25 11:38



teşekkürler benim için cazibe gibi çalışıyor :) - Jaini Naveen
teşekkürler .. benim için çalıştı ama run-war, veri kaynağı yapılandırmamı kaybedeceğimi ima eden gömülü bir tomcat kullanıyor - Balaji Krishnan


İle maven eklenti dağıtımını anlamak biraz zaman aldı Tomcat 7 mekanizma ancak aşağıdaki gibi çalışır:

Komutla kullanmak için:

mvn tomcat7: dağıt

Tomcat sunucu ilk önce başlatılmalıdır! IDE'den veya% TOMCAT_HOME% \ bin klasöründe bulunan başlangıç ​​komut dosyasından seçim yapabilirsiniz.

Çalıştırılan çıktı şu şekilde görünmelidir: enter image description here

mvn tomcat7: çalışma savaşı

Tomcat, başlangıçta sunucunun otomatik olarak başlatılacağı için başlatılmaya ihtiyaç duyulmadı. Ancak, içerik / yönetici tarayıcıda kullanım için etkinleştirilmeyecek.

Çalıştırılan çıktı şu şekilde görünmelidir: enter image description here

Komutu bile çalıştırabilirsin mvn temiz paketi Projenin önceki temizliğini yapmak.

Bazı ek yapılandırmalar:

[% TOMCAT_HOME% \ conf] tomcat-users.xml

<role rolename="tomcat"/>
<role rolename="admin-script"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="manager"/>
<role rolename="admin"/>

<user password="tomcat" roles="tomcat" username="tomcat"/>
<user password="admin" roles="manager-gui" username="admin"/>
<user password="pass@word1" roles="admin,admin-script,manager-gui,manager-script,manager-jmx,manager-status" username="mavenuser"/>

[% MAVEN_HOME% \ conf] settings.xml

<server>
    <id>your_server</id>
    <username>mavenuser</username>
    <password>pass@word1</password>
</server>

[% proje%] pom.xml

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>your_server</server>
        <path>/project_context</path>
        <username>mavenuser</username>
        <password>pass@word1</password>                 
    </configuration>
</plugin>

Umarım yardımcı olur!


8
2017-11-17 18:45



run-war, gömülü bir tomcat kullanır, bu yüzden tamamen farklı bir kurulum (belki de bazı durumlarda iyi olur.) "Mevcut projeyi, gömülü bir Tomcat sunucusu kullanarak paketlenmiş bir web uygulaması olarak çalıştırır." - andresp
Tomcat sunucusunu dağıtmak için ilk önce başlatılmalıdır! tnx - Vyshnav Ramesh


Aynı sorun vardı ve Maven eklenti sürümü vs Tomcat sürümü gibi görünüyordu. Tomcat 7'yi kullandım ve konuşlandırmaya çalıştım. tomcat:deploy-only yerine tomcat7:deploy bir tek. Durum buysa, dene tomcat7:deploy-xxx.


6
2017-10-10 13:28



Teşekkür ederim, mvn tomcat7: konuş benimle doğru yöne git. - tkt986
Çalışmadı, aynı hata. - Display Name


Burada önemli bir nokta bence, tomcat kullanmalısınız7:dağıtmak. Göz ardı etmeyin 7.

Otomatik tamamlama kullanıyordum ve her zaman tomcat ile sona erdi: konuşlandırıldı ve sadece 7'yi görmezden geliyordu.


1
2018-04-28 16:06



Neden iki kez etiketlendiğinizden emin değilsiniz, ancak tam olarak haklısınız. - paiego


Benzer bir sorun var:

Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot invoke Tomcat manager
    at org.apache.tomcat.maven.plugin.tomcat7.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:141)
    at org.apache.tomcat.maven.plugin.tomcat7.AbstractWarCatalinaMojo.execute(AbstractWarCatalinaMojo.java:68)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    ... 20 more
Caused by: java.net.SocketException: Connection reset
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:115)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
    at org.apache.http.impl.io.AbstractSessionOutputBuffer.write(AbstractSessionOutputBuffer.java:181)
    at org.apache.http.impl.conn.LoggingSessionOutputBuffer.write(LoggingSessionOutputBuffer.java:73)
    at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:115)
    at org.apache.tomcat.maven.common.deployer.TomcatManager$RequestEntityImplementation.writeTo(TomcatManager.java:880)
    at org.apache.http.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.java:89)
    at org.apache.http.impl.client.EntityEnclosingRequestWrapper$EntityWrapper.writeTo(EntityEnclosingRequestWrapper.java:108)
    at org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:117)
    at org.apache.http.impl.AbstractHttpClientConnection.sendRequestEntity(AbstractHttpClientConnection.java:265)
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.sendRequestEntity(ManagedClientConnectionImpl.java:203)
    at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:236)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:682)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
    at org.apache.tomcat.maven.common.deployer.TomcatManager.invoke(TomcatManager.java:742)
    at org.apache.tomcat.maven.common.deployer.TomcatManager.deployImpl(TomcatManager.java:705)
    at org.apache.tomcat.maven.common.deployer.TomcatManager.deploy(TomcatManager.java:388)
    at org.apache.tomcat.maven.plugin.tomcat7.deploy.AbstractDeployWarMojo.deployWar(AbstractDeployWarMojo.java:85)
    at org.apache.tomcat.maven.plugin.tomcat7.deploy.AbstractDeployMojo.invokeManager(AbstractDeployMojo.java:82)
    at org.apache.tomcat.maven.plugin.tomcat7.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:132)
    ... 23 more

Tomcat'in günlüğünü kontrol ediyorum (dir:log/localhost_access.xxxSonra maven yüklendiğinde .wawr tomcat dosyasına, yanıtın http durum kodu 403 Bu da erişimin yasak olduğu anlamına geliyor.

Sonra kontrol ettim. manager ve host uygulama aynı dir: META-INF. bu dir, dosyayı buldum context.xml, bu dosya erişimini sınırlar manager ve host Uygulamanın. Anahtar metin aşağıdadır:

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

Özniteliği değiştir allow ip erişiminize izin vermek manager ve host App, sonra sorun çözüldü.


0
2017-11-01 11:17





Sorun Java Yığın Alanı nedeniyle. Daha sonra bir hizmet olarak yüklenmişse, aşağıdaki adımları kullanarak bunu değiştirebilirsiniz:

1- cmd'den çalıştır "Tomcat_DIR \ tomcat6w.exe" // ES // ServiceName

2- Tomcat GUI'yi açacaktır. JAVA menüsünde, not havuzu konfigürasyonunu verin.

Tomcat için o kadar çok hafıza ayrılacak. Bellek yığını problemini çözmeli.


-1
2018-03-15 10:46