Я проверил этот вопрос, который очень похож на мой, однако разница в том, что я использую порт> 1024 (т.е. я использую порт 12345), что и сказал ответчик. Я пытаюсь запустить экземпляр Tomcat на сервере Openshift. Любая помощь приветствуется! Спасибо!
application.properties:
nohup java -Xms384m -Xmx412m -jar target/*.war --server.port=12345
Обратите внимание на "-jar", верно? Я развертываю файл .war, а не .jar? Я думаю .. Извините, я немного новичок в этом.
web.xml
2015-10-07 19: 30: 13.317 INFO 261765 --- [main] osjeaAnnotationMBeanExporter: Регистрация bean-компонентов для экспонирования JMX при запуске 2015-10-07 19: 30: 13.409 DEBUG 261765 --- [
main] osws resource.ResourceUrlProvider: Ищем сопоставления обработчиков ресурсов 2015-10-07 19: 30: 13.411 DEBUG 261765 --- [
main] oswsresource.ResourceUrlProvider: Найдено сопоставление обработчиков ресурсов: шаблон URL = "/ ** / favicon. ico ", location = [ресурс пути к классу [META-INF / resources /], ресурс пути к классу [resources /], ресурс пути к классу [static /], ресурс пути к классу [public /], ресурс пути к классу []], преобразователи = [org.springframework.web.servlet.resource.PathResourceResolver@f5e53a1] 2015-10-07 19: 30: 13.412 DEBUG 261765 --- [main] oswsresource.ResourceUrlProvider: Найдено сопоставление обработчика ресурсов: шаблон URL = "/ webjars / ** ", location = [ресурс пути к классу [META-INF / resources / webjars /]], resolvers = [org.springframework.web.servlet.resou rce.PathResourceResolver@1f5137b7] 2015-10-07 19: 30: 13.414 DEBUG 261765 --- [main] oswsresource.ResourceUrlProvider: Найдено сопоставление обработчика ресурсов: шаблон URL = "/ **", location = [ServletContext resource [/ ], ресурс пути к классу [META-INF / resources /], ресурс пути к классу [resources /], ресурс пути к классу [static /], ресурс пути к классу [public /]], resolvers = [org.springframework.web.servlet. resource.PathResourceResolver@3f8892d1] 2015-10-07 19:30: 14.022 ОШИБКА 261765 --- [main] oacoyote.http11.Http11NioProtocol: Не удалось запустить конечную точку, связанную с ProtocolHandler ["http-nio-12345"]java.net.SocketException: в разрешении отказано на sun.nio.ch.Net.bind0 (собственный метод) на sun.nio.ch.Net.bind (Net.java:436) на sun.nio.ch.Net.bind ( Net.java:428) на sun.nio.ch.ServerSocketChannelImpl.bind (ServerSocketChannelImpl.java:214) на sun.nio.ch.ServerSocketAdaptor.bind (ServerSocketAdaptor.java:74) на org.apache.tomcat.util.net .NioEndpoint.bind (NioEndpoint.java:473) по адресу org.apache.tomcat.util.net.AbstractEndpoint.start (AbstractEndpoint.java:653) по адресу org.apache.coyote.AbstractProtocol.start (AbstractProtocol.java:449) по адресу org.apache.catalina.connector.Connector.startInternal (Connector.java:1007) в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) в org.apache.catalina.core.StandardService.addConnector ( StandardService.java:241) в org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors (TomcatEmbeddedServletContainer.java:186) в ...
mvc-dispatcher-servlet.xml
logging.level.org.springframework.web = ОТЛАДКА
logging.level.org.hibernate = ОШИБКА
error.whitelabel.enabled = false
server.port = 12345
Application.java
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Demo Web Application</display-name>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<!--<url-pattern>/</url-pattern>-->
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
pom.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<mvc:annotation-driven />
</beans>
И наконец...
ОБНОВЛЕНИЕ 1
package hello;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Autowired
UserRepository userRepository;
@RequestMapping ("/isRunning")
boolean isRunning () {
return true;
}
@RequestMapping ("/")
String home () {
return "Home";
}
@Override
protected SpringApplicationBuilder configure (SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main (String[] args) {
SpringApplication.run(Application.class);
System.out.println("RUNNING! :D");
}
}
И наконец...
Как здесь, OpenShift ограничивает порты, к которым может быть привязано приложение. Вы можете использовать 15000 - 35530 для привязки внутреннего IP. Вы также можете использовать 8080, и это необходимо сделать, если вы хотите, чтобы ваше приложение Spring Boot было доступно извне.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<groupId>org.springframework</groupId>
<artifactId>gs-crud-with-vaadin</artifactId>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.6.RELEASE</version>
</parent>
<properties>
<java.version>1.7</java.version>
<tomcat.version>7.0.59</tomcat.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Также нужно привязать к правильному адресу. Вот пример, показывающий, как настроить адрес и порт с помощью переменных среды OpenShift в Документация по загрузке Spring:
Хорошо, я запустил rhc app-tidy -a {APP_NAME}, и теперь оно нормально развертывается, запускается и работает нормально, но у меня все еще тот же вывод журнала ошибок ... Почему это? Что случилось?
2015-10-08 03:15: 41.254 ОШИБКА 290379 --- [main] o.a.coyote.http11.Http11NioProtocol: Не удалось запустить конечную точку, связанную с ProtocolHandler ["http-nio-8080"]
java.net.SocketException: в разрешении отказано на sun.nio.ch.Net.bind0 (собственный метод) на sun.nio.ch.Net.bind (Net.java:436) на sun.nio.ch.Net.bind ( Net.java:428) на sun.nio.ch.ServerSocketChannelImpl.bind (ServerSocketChannelImpl.java:214) на sun.nio.ch.ServerSocketAdaptor.bind (ServerSocketAdaptor.java:74) на org.apache.tomcat.util.net .NioEndpoint.bind (NioEndpoint.java:473) по адресу org.apache.tomcat.util.net.AbstractEndpoint.start (AbstractEndpoint.java:653) по адресу org.apache.coyote.AbstractProtocol.start (AbstractProtocol.java:449) по адресу org.apache.catalina.connector.Connector.startInternal (Connector.java:1007) в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) в org.apache.catalina.core.StandardService.addConnector ( StandardService.java:241) в org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors (TomcatEmbeddedServletContainer.java:186) в org.springframewo rk.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start (TomcatEmbeddedServletContainer.java:149) в org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer.java.context.startEmbeddedServlet.container.java.context.startEmbeddedServlet. embedded.EmbeddedWebApplicationContext.finishRefresh (EmbeddedWebApplicationContext.java:141) в org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:483) в org.springframe Embedded.bresh.context: 118) в org.springframework.boot.SpringApplication.refresh (SpringApplication.java:687) в org.springframework.boot.SpringApplication.run (SpringApplication.java:321) в org.springframework.boot.SpringApplication.run (SpringApplication.run : 967) в org.springframework.boot.SpringApplication.run (SpringApplication.java:956) в hello.Appli cation.main (Application.java:41) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMetplhodAccessorImpl.java:62 43) в java.lang.reflect.Method.invoke (Method.java:483) в org.springframework.boot.loader.MainMethodRunner.run (MainMethodRunner.java:53) в java.lang.Thread.run (Thread.java : 745)
2015-10-08, 03:15: 41.263 ОШИБКА 290379 --- [main] o.apache.catalina.core.StandardService: не удалось запустить соединитель [Connector [org.apache.coyote.http11.Http11NioProtocol-8080]]
Ошибка запуска ApplicationContext. Чтобы отобразить отчет автоконфигурации, включите ведение журнала отладки (начните с --debug)
2015-10-08, 03:15: 41.724 ОШИБКА 290379 --- [main] o.s.boot.SpringApplication: сбой при запуске приложения
java.lang.IllegalStateException: коннектор Tomcat в состоянии сбоя в org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start (TomcatEmbeddedServletContainer.java:157) в org.springframework.boldvletcontainer.java:157) на org.springframework.blet.EmblicationContainer.blet.EmblicationWemblicationWebtext.framework. .java: 288) в org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh (EmbeddedWebApplicationContext.java:141) в org.springframework.context.support.AbstractApplicationContext.refresh.context.java:48 boot.context.embedded.EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.java:118) по адресу org.springframework.boot.SpringApplication.refresh (SpringApplication.java:687) по адресу org.springframework.boot.SpringApplication. в org.springframework.boot.SpringApplication.run (SpringApplication.java:967) в o rg.springframework.boot.SpringApplication.run (SpringApplication.java:956) в hello.Application.main (Application.java:41) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessor (Impl. NativeMethodAccessorImpl.java:62) на sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:483) на org.sprnerMethodance.framework. (MainMethodRunner.java:53) в java.lang.Thread.run (Thread.java:745)
2015-10-08 03:15: 41.724 INFO 290379 --- [main] ationConfigEmbeddedWebApplicationContext: Закрытие org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@7c2b6a03: дата запуска [Thu Oct 08 EDT 2015]; корень иерархии контекста 2015-10-08 03: 15: 41.739 INFO 290379 --- [main] osjeaAnnotationMBeanExporter: Отмена регистрации JMX-компонентов при завершении работы 2015-10-08 03: 15: 41.777 INFO 290379 --- [
main] j.LocalContainerEntityManagerFactoryBean: закрытие JPA EntityManagerFactory для блока сохранения состояния «по умолчанию» java.lang.reflect.InvocationTargetException в sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) в sun.MethodAccessorImpl.invoke0 (Native Method) (Native Method) в Sun. в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:483) в org.springframework.boot.loader.MainMethodRunner.hod ) в java.lang.Thread.run (Thread.java:745) Вызвано: java.lang.IllegalStateException: соединитель Tomcat в состоянии сбоя в org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start (To mcatEmbeddedServletContainer.java:157) на org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer (EmbeddedWebApplicationContext.java:288) в org.springframework.breshContext.java:288) в org.springframework. .springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:483) на org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.java:118) .java: 687) в org.springframework.boot.SpringApplication.run (SpringApplication.java:321) в org.springframework.boot.SpringApplication.run (SpringApplication.java:967) в org.springframework.boot.Spring (Application.run SpringApplication.java:956) на hello.Application.main (Application.java:41) ... Еще 6 Запуск jbossews cartri dge Найден 127.7.143.1:8080 порт прослушивания Артефакты архивирования Невозможно автоматически установить JDK, пока лицензия не будет принята. Готово: УСПЕХМой сценарий выполнения выглядит следующим образом:
Важная часть моих сообщений об ошибках выглядит следующим образом: