2016-03-21 6 views
1

Ich habe einen Java-Krieg, der über Jetty ausgeführt wird. Es funktioniert seit Jahren auf mehreren Windows 7-Computern. Aber jetzt erzeugt eine neue Installation auf einem Windows 7 Computer Fehler und ich verstehe die Fehler nicht. Ich bin unter dem Protokoll bis zu dem Punkt des Fehlers Posting:Ausführen einer Webanwendung (WAR) mit eingebettetem Jetty

C:\Users\QT\Desktop\vcctl\scripts>cd ..\src 

C:\Users\QT\Desktop\vcctl\src>java -classpath "lib/derby.jar:lib/derbytools.jar" -Dorg.eclipse.jetty.server.Request.maxFormKeys=20000 -jar "VcctlWrapper.jar" 
2016-03-21 15:42:11.866:INFO::AWT-EventQueue-0: Logging initialized @204ms 
Current relative path is: C:\Users\QT\Desktop\vcctl\src 
2016-03-21 15:42:11.969:INFO:oejs.Server:AWT-EventQueue-0: jetty-9.1.3.v20140225 

Mar 21, 2016 3:42:13 PM org.apache.struts.action.ActionServlet initChain 
INFO: Loading chain catalog from jar:file:/C:/Users/QT/AppData/Local/Temp/jetty-0.0.0.0-8080-vcctl.war-_vcctl-any-7374762875405590280.dir/webapp/WEB-INF/lib/struts-tiles-1.3.8.jar!/org/apache/struts/tiles/chain-config.xml 
Mar 21, 2016 3:42:13 PM org.apache.struts.action.ActionServlet initChain 
INFO: Loading chain catalog from jar:file:/C:/Users/QT/Desktop/vcctl/src/lib/struts-tiles-1.3.8.jar!/org/apache/struts/tiles/chain-config.xml 
Mar 21, 2016 3:42:13 PM org.apache.struts.config.impl.ModuleConfigImpl addAction Config 
WARNING: Overriding ActionConfig of path /my-files/viewImage 
Mar 21, 2016 3:42:13 PM org.apache.struts.tiles.TilesPlugin initDefinitionsFactory 
INFO: Tiles definition factory loaded for module ''. 
2016-03-21 15:42:13.626:INFO:oejsh.ContextHandler:AWT-EventQueue-0: Started [email protected]{/vcctl,file:/C:/Users/QT/AppData/Local/Temp/jetty-0.0.0.0-8080-vcctl.war-_vcctl-any-7374762875405590280.dir/webapp/,AVAILABLE}{C:\Users\QT\Desktop\vcctl\src/vcctl.war} 
2016-03-21 15:42:13.635:WARN:oejuc.AbstractLifeCycle:AWT-EventQueue-0: FAILED [email protected]{HTTP/1.1}{0.0.0.0:8080}: java.net.BindException: Address already in use: bind 
java.net.BindException: Address already in use: bind 
    at sun.nio.ch.Net.bind0(Native Method) 
    at sun.nio.ch.Net.bind(Unknown Source) 
    at sun.nio.ch.Net.bind(Unknown Source) 
    at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) 
    at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source) 
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:279) 
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) 
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:218) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 
    at org.eclipse.jetty.server.Server.doStart(Server.java:337) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 
    at vcctl.webServiceRunner.startJettyServer(webServiceRunner.java:98) 
    at vcctl.webServiceRunner.<init>(webServiceRunner.java:40) 
    at vcctl.webServiceRunner$1.run(webServiceRunner.java:107) 
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
    at java.awt.EventQueue.access$300(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 
2016-03-21 15:42:13.639:WARN:oejuc.AbstractLifeCycle:AWT-EventQueue-0: FAILED [email protected]: java.net.BindException: Address already 
in use: bind 
java.net.BindException: Address already in use: bind 
    at sun.nio.ch.Net.bind0(Native Method) 
    at sun.nio.ch.Net.bind(Unknown Source) 
    at sun.nio.ch.Net.bind(Unknown Source) 
    at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) 
    at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source) 
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:279) 
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) 
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:218) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 
    at org.eclipse.jetty.server.Server.doStart(Server.java:337) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 
    at vcctl.webServiceRunner.startJettyServer(webServiceRunner.java:98) 
    at vcctl.webServiceRunner.<init>(webServiceRunner.java:40) 
    at vcctl.webServiceRunner$1.run(webServiceRunner.java:107) 
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
    at java.awt.EventQueue.access$300(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 

Auf meinem anderen Windows 7-Computer, sieht die Log-Nachricht wie folgt aus:

C:\Users\bullard\Desktop\vcctl\scripts>cd ..\src 

C:\Users\bullard\Desktop\vcctl\src>java -classpath "lib/derby.jar:lib/derbytools.jar" -Dorg.eclipse.jetty.server.Request.maxFormKeys=20000 -jar "VcctlWrapper.jar" 
2016-03-21 17:34:04.520:INFO::AWT-EventQueue-0: Logging initialized @172ms 
Current relative path is: C:\Users\bullard\Desktop\vcctl\src 
2016-03-21 17:34:04.598:INFO:oejs.Server:AWT-EventQueue-0: jetty-9.1.3.v20140225 
Mar 21, 2016 5:34:05 PM org.apache.struts.action.ActionServlet initChain 
INFO: Loading chain catalog from jar:file:/C:/Users/bullard/AppData/Local/Temp/jetty-0.0.0.0-8080-vcctl.war-_vcctl-any-9120726856785823814.dir/webapp/WEB-INF/lib/struts-tiles-1.3.8.jar!/org/apache/struts/tiles/chain-config.xml 
Mar 21, 2016 5:34:05 PM org.apache.struts.action.ActionServlet initChain 
INFO: Loading chain catalog from jar:file:/C:/Users/bullard/Desktop/vcctl/src/lib/struts-tiles-1.3.8.jar!/org/apache/struts/tiles/chain-config.xml 
Mar 21, 2016 5:34:05 PM org.apache.struts.config.impl.ModuleConfigImpl addAction Config 
WARNING: Overriding ActionConfig of path /my-files/viewImage 
Mar 21, 2016 5:34:05 PM org.apache.struts.tiles.TilesPlugin initDefinitionsFactory 
INFO: Tiles definition factory loaded for module ''. 
2016-03-21 17:34:05.955:INFO:oejsh.ContextHandler:AWT-EventQueue-0: Started [email protected]{/vcctl,file:/C:/Users/bullard/AppData/Local/Temp/jetty-0.0.0.0-8080-vcctl.war-_vcctl-any-9120726856785823814.dir/webapp/,AVAILABLE}{C: 
\Users\bullard\Desktop\vcctl\src/vcctl.war} 
2016-03-21 17:34:05.971:INFO:oejs.ServerConnector:AWT-EventQueue-0: Started [email protected]{HTTP/1.1}{0.0.0.0:8080} 
2016-03-21 17:34:05.971:INFO:oejs.Server:AWT-EventQueue-0: Started @1623ms 
+0

siehe die Ausnahme: 'java.net.BindException: Adresse bereits verwendet 'und pczeus Antwort ... – Ben

+0

Es gibt definitiv einen anderen Prozess, der bereits auf Port 8080 hört. Ich versuche, den Systemadministrator für diesen Computer den Prozess zu beenden, wenn es nicht benötigt wird (es ist nicht mein Computer). Andernfalls werde ich versuchen, die Datei jetty.xml wie von pczeus vorgeschlagen zu bearbeiten. –

Antwort

1

Dies geschieht, wenn eine andere Instanz von Jetty oder ein anderer Prozess läuft auf dem gleichen Port, auf dem Ihr Jetty-Server ausgeführt werden soll. Jetty wird auf dem Standardport 8080 ausgeführt. Sie haben also entweder eine andere Jetty-Instanz oder einen Tomcat-Server auf dem Server, der den Port 8080 (oder den von Ihnen konfigurierten Port) belegt.

Sie können die jetty.xml Datei ändern und die jetty.port aktualisieren, indem Sie diese Zeile zu ändern:

<Set name="port"><SystemProperty name="jetty.port" default="80"/></Set> 

Aber bevor tun, dass ich für Prozesse in den taskmgr wie Anlegesteg oder tomcat zur Zeit prüfen würde laufen. Sie können auch netstat -a -b für laufende Prozesse und den verwendeten Port prüfen.