Разверните restful api на Azure успешно, но всегда возвращайте ошибку 404 при встрече с URL - PullRequest
0 голосов
/ 23 апреля 2019

В моем проекте я успешно развернул API-интерфейс jersey на лазури и поместил файл ROOT.war в / wwwroot / webapps, а томкат успешно извлек файл и все материалы проекта, показанные в этом каталоге. Но приложение всегда возвращает 404, я не знаю почему. Вот мой файл pom.xml:

 <groupId>patientinformationdisplayer</groupId>
<artifactId>pom</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey</groupId>
            <artifactId>jersey-bom</artifactId>
            <version>2.28</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <inherited>true</inherited>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

        <plugin>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-webapp-maven-plugin</artifactId>
    <version>1.5.3</version>
    <configuration>
        <!-- App information -->
        <resourceGroup>team19backend</resourceGroup>
        <appName>team19backend</appName>
        <region>UK south</region>

        <!-- Java Runtime Stack for App on Linux-->
        <linuxRuntime>tomcat 8.5-jre8</linuxRuntime>
    </configuration>
</plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>java</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>HoloBackend.Main</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

Я не знаю, что происходит с развертыванием, и мне потребовался целый день, чтобы сделать это. Пожалуйста, помогите мне исправить это, так что большое спасибо за вас.

1 Ответ

0 голосов
/ 24 апреля 2019

Если вы развернете приложение на локальном Tomcat, сможете ли вы зайти на сайт с помощью корневого URL?Рекомендованный способ удаления готового каталога ROOT /.Пожалуйста, дважды проверьте, сделали ли вы это.

Вы также можете обратиться к http://tomcat.apache.org/tomcat-7.0-doc/config/context.html,, где указано:

Путь контекста этого веб-приложения, который сопоставляется сначало каждого запроса URI для выбора соответствующего веб-приложения для обработки.Все пути контекста в пределах определенного хоста должны быть уникальными.Если вы укажете путь контекста для пустой строки (""), вы определите веб-приложение по умолчанию для этого хоста, которое будет обрабатывать все запросы, не назначенные другим контекстам.Этот атрибут должен использоваться только при статическом определении контекста в server.xml.Во всех других случаях путь будет выведен из имен файлов, используемых либо для файла контекста .xml, либо для docBase.

Даже при статическом определении контекста в server.xml этот атрибут нельзя устанавливать, если только docBase не находится в appBase хоста, либо оба параметра deployOnStartup и autoDeploy не имеют значения false.Если это правило не соблюдается, вероятно, произойдет двойное развертывание.

И эта ссылка (http://stackoverflow.com/questions/16160565/configure-the-path-localhost-of-the-war-application-to-be-the-root-java-ee) может вам помочь.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...