Не удалось найти этот тип процесса (веб) при развертывании весеннего загрузочного приложения

У меня есть приложение spring boot, которое работает локально. Я хотел бы развернуть на heroku. Я следовал инструкциям здесь, но у меня это не сработало, и я получил "No web processes running" ошибку. Следуя предложенным решениям, я попробовал >heroku ps:scale web=1 и получил Couldn't find that process type ошибку. Затем я попробовал следующие команды:

heroku buildpacks:clear

heroku buildpacks:add heroku/java

git commit --allow-empty -m "Adjust buildpacks on Heroku"

git push heroku master

Но проблема все еще существует. Вот мой pom.xml, если поможет:

    <?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>com.tests4geeks.tutorials</groupId>
    <artifactId>mongo-tutorial</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>mongo-tutorial</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath />
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <thymeleaf.version>3.0.11.RELEASE</thymeleaf.version>
    </properties>

    <dependencies>
    
     <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
 </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</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-test</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-couchbase</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <dependency>
            <groupId>nz.net.ultraq.thymeleaf</groupId>
            <artifactId>thymeleaf-layout-dialect</artifactId>
        </dependency>

        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
            <version>3.3.7</version>
        </dependency>
        
<dependency>
    <groupId>commons-net</groupId>
    <artifactId>commons-net</artifactId>
    <version>3.6</version>
</dependency>
        
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
        
        <dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
    
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

вывод build:

Enumerating objects: 277, done.
Counting objects: 100% (277/277), done.
Delta compression using up to 8 threads
Compressing objects: 100% (259/259), done.
Writing objects: 100% (277/277), 157.87 MiB | 1.29 MiB/s, done.
Total 277 (delta 22), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Java app detected
remote: -----> Installing JDK 1.8... done
remote: -----> Installing Maven 3.6.2... done
remote: -----> Executing Maven
remote:        $ mvn -DskipTests clean dependency:list install
remote:        [INFO] Scanning for projects...
remote:        [INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.3.3.RELEASE/spring-boot-starter-parent-2.3.3.RELEASE.pom
remote:        [INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.3.3.RELEASE/spring-boot-starter-parent-2.3.3.RELEASE.pom (8.6 kB at 13 kB/s)
remote:        [INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-dependencies/2.3.3.RELEASE/spring-boot-dependencies-2.3.3.RELEASE.pom
remote:        [INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-dependencies/2.3.3.RELEASE/spring-boot-dependencies-2.3.3.RELEASE.pom (122 kB at 1.4 MB/s)
remote:        [INFO] Downloading from central: https://repo.maven.apache.org/maven2/com/datastax/oss/java-driver-bom/4.6.1/java-driver-bom-4.6.1.pom
remote:        [INFO] Downloaded from central: https://repo.maven.apache.org/maven2/com/datastax/oss/java-driver-bom/4.6.1/java-driver-bom-4.6.1.pom (3.8 kB at 251 kB/s)

remote:        [INFO] Installing /tmp/build_84b248db/target/mongo-tutorial-0.0.1-SNAPSHOT.war to /tmp/codon/tmp/cache/.m2/repository/com/tests4geeks/tutorials/mongo-tutorial/0.0.1-SNAPSHOT/mongo-tutorial-0.0.1-SNAPSHOT.war
remote:        [INFO] Installing /tmp/build_84b248db/pom.xml to /tmp/codon/tmp/cache/.m2/repository/com/tests4geeks/tutorials/mongo-tutorial/0.0.1-SNAPSHOT/mongo-tutorial-0.0.1-SNAPSHOT.pom
remote:        [INFO] ------------------------------------------------------------------------
remote:        [INFO] BUILD SUCCESS
remote:        [INFO] ------------------------------------------------------------------------
remote:        [INFO] Total time:  26.956 s
remote:        [INFO] Finished at: 2020-12-26T20:53:46Z
remote:        [INFO] ------------------------------------------------------------------------
remote: -----> Discovering process types
remote:        Procfile declares types -> (none)
remote:
remote: -----> Compressing...
remote:        Done: 211.1M
remote: -----> Launching...
remote:        Released v3
remote:        https://hidden-coast-44319.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/hidden-coast-44319.git
 * [new branch]      master -> master

Это не имеет ничего общего с вашими пакетами сборки, и я не думаю, что ваш pom.xml имеет значение (хотя я не Java-разработчик). У вас есть Procfile? Что он содержит? Я предполагаю, что, поскольку вы пытаетесь использовать heroku/java, вы не используете Docker?

Chris 26.12.2020 14:43

@ Крис, я не использую Docker. Ты прав. Что касается Procfile, то у меня его нет и, похоже, он не нужен. В ссылке, которой я поделился (devcenter.heroku.com/articles/…), приложение правильно развернуто без необходимости использования Procfile.

Paria p 26.12.2020 14:51

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

Chris 26.12.2020 16:50

@Chris Я также пытался использовать Procfile, содержащий «web: java -Dserver.port=$PORT $JAVA_OPTS -jar target/*.jar», но это не помогло, и я получил еще одну ошибку: Ошибка: невозможно получить доступ к jarfile target/ *.банка

Paria p 26.12.2020 21:39

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

Chris 26.12.2020 21:46

@Chris Я обновил вопрос, указав результат процесса сборки. Однако это не весь вывод, так как это было более 60000 строк, что было больше разрешенного количества для вопроса на Stackoverflow. Я думаю, что он включает в себя соответствующую часть. Тем временем, после процесса сборки я вижу военный файл в моей целевой папке.

Paria p 26.12.2020 22:06

У вас есть Procfile? Даже пустой? В выходных данных сборки указано Procfile declares types -> (none), но я не вижу строку Default types for buildpack -> web в документации, на которую вы ссылаетесь. Попробуйте heroku buildpacks:clear, а затем (без явного указания) развернуть снова.

Chris 26.12.2020 22:27

@ Крис Нет, у меня вообще нет Procfile. Я попробовал heroku buildpacks:clear, а потом git push heroku master. Вы это имели в виду? К сожалению, это тоже не помогло.

Paria p 27.12.2020 09:14

@Chris В документации есть строчка spring init --dependencies=web demo. Поскольку я не создаю новый проект, я пропустил его. Должен ли я использовать --dependencies=web где-то еще? Если да, то не могли бы вы рассказать мне, как?

Paria p 27.12.2020 09:46

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

Chris 27.12.2020 15:06
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
10
219
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я мог бы решить эту проблему, добавив Procfile со следующим текстом:

web: java -jar target/mongo-tutorial-1.0.jar

И удаление следующих строк из файла pom:

<packaging>war</packaging>

Другие вопросы по теме