Почему Spring Boot Application не работает после развертывания в Azure веб-приложении - PullRequest
0 голосов
/ 03 мая 2020

Может кто-нибудь помочь мне с ошибкой 404, когда я пытаюсь получить доступ к URL API, установленному на azure. Из-за прав администратора, не могу установить azure CLI, как если бы сейчас. Так что я выполнил следующие шаги.

Шаг 1: Создано загрузочное приложение Spring, которое возвращает строку «Hello» из HelloController и протестировало код на локальном компьютере, и оно было запущено.

Шаг 2: Создайте веб-приложение на azure Портал и настроенный локальный репозиторий git.

Шаг 3. На локальном компьютере я скопировал локальный git URL-адрес и произвел клонирование git.

Шаг 4: Внутри папки Webapps создана Я поместил файл войны, переименовав его в ROOT .war

Шаг 4: Выполните следующую команду:

git status

git доп.

git commit -m "Test"

git pu sh мастер происхождения

Шаг 4: Зашел на портал azure и проверил папка ROOT и военный файл были успешно развернуты. Нажмите здесь для снимка экрана

Шаг 6: Когда я нажимаю на ссылку, я получаю ошибку 404: Нажмите здесь для изображения ошибки

Фрагмент кода для контроллера:

 package io.javabrains.springbootstarter;


 import org.springframework.web.bind.annotation.RequestMapping;

 import org.springframework.web.bind.annotation.RestController;

 @RestController
 public class HelloController {
      @RequestMapping("/hello")
    public String hello() {
        return "Hello World RESTful with Spring Boot";
     }  
   }

Фрагмент кода для стартера начальной загрузки:

package io.javabrains.springbootstarter;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class CourseApiApp {

public static void main(String[] args) {
    SpringApplication.run(CourseApiApp.class,args);

   }

 }

Pom. xml:

In Pom. xml, конфигурация был создан самым последним путем запуска плагина maven (цель: mvn-webapp: config) при весенней загрузке, который создал конфигурацию по умолчанию. Затем я сопоставил те же значения в теге конфигурации, который я создал в моем azure portal.Goal был чтобы просто проверить, какие свойства конфигурации созданы.

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema- 
 instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven- 
 4.0.0.xsd">  
 <modelVersion>4.0.0</modelVersion>  
 <groupId>io.javabrains.springbootquickstart</groupId>  
 <artifactId>course-api-test</artifactId>  
 <version>0.0.1-SNAPSHOT</version>  
 <packaging>war</packaging>  
 <name>Java Brains Course Api</name>  
 <parent> 
 <groupId>org.springframework.boot</groupId>  
 <artifactId>spring-boot-starter-parent</artifactId>  
 <version>2.1.3.RELEASE</version>  
 <relativePath/>  
 <!-- lookup parent from repository --> 
 </parent>  
 <dependencies> 
 <!-- WEB -->  
 <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>--> 
 </dependencies>  
 <properties> 
 <java.version>1.8</java.version> 
 </properties>  
 <build> 
   <plugins> 
    <plugin> 
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-maven-plugin</artifactId> 
  </plugin>  
  <plugin> 
    <groupId>com.microsoft.azure</groupId>  
    <artifactId>azure-webapp-maven-plugin</artifactId>  
    <version>1.7.0</version>  
    <configuration>
      <schemaVersion>V2</schemaVersion>
      <resourceGroup>first-azure-application-28minutes</resourceGroup>
      <appName>CourseapiTest</appName>
      <pricingTier>F1</pricingTier>
      <region>South Central US</region>
      <appSettings>
      <property>
      <name>JAVA_OPTS</name>
      <value>-Dserver.port=80</value>
      </property>
      </appSettings>
      <runtime>
        <os>windows</os>
        <javaVersion>jre8</javaVersion>
        <webContainer>TOMCAT 9</webContainer>
      </runtime>
      <deployment>
              <resources>
                    <resource>
                        <directory>${project.basedir}/target</directory>
                           <includes>
                              <include>*.war</include>
                           </includes>
                    </resource>
              </resources>
      </deployment>
    </configuration>
  </plugin> 
    </plugins> 
    </build> 
   </project>

application.properties:

server.forward-headers-стратегии = FRAMEWORK

Ошибки: в диагонозе и разделе в Azure:

Нажмите здесь для изображения ошибки

Нажмите здесь для изображения ошибки

1 Ответ

0 голосов
/ 06 мая 2020

Чтобы развернуть приложение весенней загрузки в Azure Службе приложений, рекомендуется развернуть файл jar.

Я выполнил этого урока , и он отлично работает. Если вы всегда видите страницу по умолчанию, вам нужно добавить файл web.config.

enter image description here

Файлы в каталоге wwwroot.

enter image description here

web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="%JAVA_HOME%\bin\java.exe"
        arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar &quot;%HOME%\site\wwwroot\app.jar&quot;">
    </httpPlatform>
  </system.webServer>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...