Nexus / Jetty will nicht mehr starten: nicht aufgelöste Adresse
Haben wir einen Nexus server, das funktionierte gut, bis Freitag. Nexus angehalten wurde, und da wir nicht in der Lage sind ihn wieder starten aber ich kann nicht herausfinden, warum ?
Ich denke, es ist eine Anlegestelle problem. Hier wird der stack-strace:
jvm 1 | 2012-08-13 09:31:10 WARN [er_start_runner] - org.mortbay.log - failed SelectChannelConnector@*:8080
jvm 1 | java.net.SocketException: Unresolved address
jvm 1 | at sun.nio.ch.Net.translateToSocketException(Net.java:58)
jvm 1 | at sun.nio.ch.Net.translateException(Net.java:84)
jvm 1 | at sun.nio.ch.Net.translateException(Net.java:90)
jvm 1 | at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:61)
jvm 1 | at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
Ist die Konfiguration (jetty.xml):
<Configure id="Server" class="org.mortbay.jetty.Server">
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="host">${application-host}</Set>
<Set name="port">${application-port}</Set>
</New>
</Arg>
</Call>
<Set name="handler">
<New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection">
<!-- The following configuration is REQUIRED, and MUST BE FIRST.
It makes the Plexus container available for use in the Nexus webapp. -->
<Call name="addLifeCycleListener">
<Arg>
<New class="org.sonatype.plexus.jetty.custom.InjectExistingPlexusListener" />
</Arg>
</Call>
<!-- The following configuration disables JSP taglib support, the validation of which
slows down Jetty's startup significantly. -->
<Call name="addLifeCycleListener">
<Arg>
<New class="org.sonatype.plexus.jetty.custom.DisableTagLibsListener" />
</Arg>
</Call>
</New>
</Set>
<New id="NexusWebAppContext" class="org.mortbay.jetty.webapp.WebAppContext">
<Arg><Ref id="Contexts"/></Arg>
<Arg>${webapp}</Arg>
<Arg>${webapp-context-path}</Arg>
<Set name="extractWAR">false</Set>
</New>
<Set name="stopAtShutdown">true</Set>
<Set name="sendServerVersion">true</Set>
<Set name="sendDateHeader">true</Set>
<Set name="gracefulShutdown">1000</Set>
</Configure>
und der plexus.Eigenschaften:
application-port=8081
application-host=0.0.0.0
runtime=${basedir}/runtime
apps=${runtime}/apps
nexus-work=${basedir}/../../data/nexus/sonatype-work/nexus
nexus-app=${runtime}/apps/nexus
webapp=${runtime}/apps/nexus/webapp
webapp-context-path=/nexus
security-xml-file=${nexus-work}/conf/security.xml
application-conf=${nexus-work}/conf
runtime-tmp=${runtime}/tmp
# If this file is present, it will be used to configure Jetty.
jetty.xml=${basedir}/conf/jetty.xml
# Uncomment this to use the debug js files
#index.template.file=templates/index-debug.vm
Nexus version 1.9.2.3
Kann ich nicht verstehen:
warum es starten will connector auf port 8080 (während ich nur port 8081) und
was bedeutet, dass die Adresse * (und warum nicht 0.0.0.0) ? Und natürlich, warum es will nicht mehr starten ?
Vielen Dank für alle Ihre Ideen!
- wenn jetty versucht zu starten auf 8080 dann der Kleber zwischen Steg und nexus ist anscheinend Probleme, so dass nicht das Steg-Problem per se.. können Sie ihn mit -DDEBUG=true weitere Informationen über das, was die Steg machen, wenn das hilft.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich kann nicht Kommentar auf der vs 8080 8081 Problem, aber für den SocketException ...
Den SocketException: nicht Adresse ist in der Regel durch irgendeine Art von host/dns/beheben Problem bei der Konfiguration auf Ihrem system vorhanden.
Den grundlegenden Testfall für java, die helfen könnten, zu identifizieren, wäre das Thema der folgenden
Laufen, und Sie sollten die Ausgabe
Was ist wichtig zu beachten sind die 2 Zeilen...
InetAddress.isAnyLocalAddress = true
- bedeutet, dass java + OS meldet diese als JEDE addrInetSocketAddr.isUnresolved = false
- bedeutet, dass java + OS war in der Lage, diese zu lösen socket-AdresseWenn Sie eine Ausnahme bei diesem test, dann hast du irgendeine Art von grundlegenden host-Auflösung von Problem auf Ihrem system (dns, dhcp. vpn, etc/hosts, keine IPv4 zur Verfügung, etc...) nichts, was Sie tun in java, jetty, oder nexus beheben können diese Art von Problem. Sie müssen diese Adresse (kein Wortspiel beabsichtigt) auf die OS /Vernetzung.
Hatte ich ein ähnliches Problem. Jetty war die Ausführung in docker-container (jetty:9.3.24 Tafel-jre8). Sie müssen kommentieren Sie Online über http.host starten.ini:
Netzwerk-Schnittstellen gemischt bekommen aus irgendeinem Grund.
Gelöst!
Die Datei jetty.xml hatte nur das " r " - Berechtigung, die nicht genug: es muss die 'x' - Berechtigung zu. So Jetty war nicht in der Lage, die Datei zu Lesen jetty.xml und in diesem Fall es versucht, einen Standard-connector auf '*:8080' => * nicht auflösbar (ich weiß nicht, warum Sie verwendet * anstelle von 0.0.0.0 ???)
So war es ein Problem bei der Konfiguration.