Как создать проект весенней загрузки из существующего проекта maven

Я создал проект maven в eclipse и хочу развернуть его на сервере (я думаю, tomcat). Я считаю, что это можно сделать с помощью весенней загрузки. Мой вопрос таков: этот проект импортировал несколько файлов jar, расположенных на моем ПК, и имеет другой проект, который находится в рабочей области в пути сборки. Я беспокоюсь, что во время интеграции (превращая его в maven) я могу потерять все зависимости. Как вообще лучше всего импортировать файлы jar в проект и как добавить другой проект в путь сборки? Пожалуйста, прокомментируйте с любыми другими спецификациями, которые вам нужны.

Это pom.xml

<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>org.apache.jena</groupId>
  <artifactId>jena-examples</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>Apache Jena - Code Examples</name>
  <description>A collection of example code illustrating uses of Apache Jena</description>
  <url>http://jena.apache.org/</url>

  <properties>
    <ver.jena>[3.1.0,)</ver.jena>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <organization>
    <name>Apache Software Foundation</name>
    <url>http://apache.org</url>
  </organization>

  <dependencies>
    <dependency>
      <groupId>org.apache.jena</groupId>
      <artifactId>apache-jena-libs</artifactId>
      <version>${ver.jena}</version>
      <type>pom</type>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>com.mashape.unirest</groupId>
        <artifactId>unirest-java</artifactId>
        <version>1.4.9</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.3.6</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpasyncclient</artifactId>
      <version>4.0.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpmime</artifactId>
      <version>4.3.6</version>
    </dependency>
    <dependency>
      <groupId>org.json</groupId>
      <artifactId>json</artifactId>
      <version>20140107</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.8</version>
    </dependency>
    <dependency>
     <groupId>org.glassfish.jersey.core</groupId>
     <artifactId>jersey-client</artifactId>
     <version>2.8</version>
 </dependency>
 <dependency>
     <groupId>org.glassfish.jersey.media</groupId>
     <artifactId>jersey-media-json-jackson</artifactId>
     <version>2.8</version>
 </dependency>
 <dependency>
        <groupId>com.github.galigator.openllet</groupId>
        <artifactId>openllet-owlapi</artifactId>
        <version>2.6.4</version>
    </dependency>
    <dependency>
        <groupId>com.github.galigator.openllet</groupId>
        <artifactId>openllet-jena</artifactId>
        <version>2.6.4</version>
    </dependency>
  </dependencies>

</project>
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
2 260
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я думаю, у вас немного неправильное представление о том, что такое spring.boot на самом деле.

Spring-boot — это полноценная экосистема для создания микросервиса, интегрированная с множеством популярных java-библиотек.

Ваш pom выглядит как полностью написанное приложение, предназначенное для развертывания на пустом сервере tomcat. Spring-boot — это не пустой tomcat, spring-boot — это приложение/фреймворк, который использует tomcat под капотом.

Что вам нужно, так это перейти на http://tomcat.apache.org/ и загрузить сервер tomcat, а затем погуглить, как настроить/запустить tomcat в выбранной вами IDEA. После этого вам нужно открыть проект maven в выбранной вами IDEA и развернуть его на сервере tomcat.

Используя eclipse/intellij, в Интернете есть несколько руководств, объясняющих, как установить и настроить tomcat. А также множество руководств по импорту проектов maven, сборке и развертыванию на tomcat.

Что вы имеете в виду под пустым? У меня уже установлен tomcat на виртуальной машине Centos 7, и я хочу, чтобы мое Java-приложение запускалось на этом сервере. Что меня также беспокоит, так это все банки, которые где-то хранятся на моем ПК, и то, как их можно «загрузить» и интегрировать с остальной частью программы Java и не получить никаких ошибок, которые я хочу иметь возможность отправлять и получать запросы на сервере, а также другой проект, который находится в той же рабочей области, и я построил путь для использования кода этого проекта. Я добавил пружинную загрузку, как предлагает верхний ответ, но я не сделал того же с банками, так как их слишком много.

Stelios Botonakis 22.05.2019 23:40

когда вы создаете что-то с помощью maven, все указанные зависимости в вашем pom.xml будут объединены в банку, которая в итоге будет создана. Таким образом, запуск «mvn clean install» создаст целевую папку. В этой папке у вас будет jar, который является вашей программой, содержащей ваш код, и все связанные jar-файлы, определенные в вашем pom.xml. Этот jar необходимо развернуть на вашем сервере tomcat. Я предлагаю вам просмотреть учебник по maven, а затем выполнить развертывание в учебнике по Tomcat в Интернете.

Toerktumlare 23.05.2019 01:21

tomcat — это сервер приложений. Это означает, что вы можете развертывать на нем приложения. Итак, у вас запущен пустой сервер tomcat. И затем вы развертываете на нем свое приложение (свою банку)

Toerktumlare 23.05.2019 01:23

вот несколько разных способов развертывания приложения на tomcat baeldung.com/tomcat-развертывание-война

Toerktumlare 23.05.2019 01:25

Другой вопрос. У меня установлена ​​Java на моей виртуальной машине, но нужно ли мне также устанавливать maven? А также, когда я создаю свой проект с помощью maven, какие команды я должен запускать и в каком порядке: mvn compile? подтвердить? установить? чистая установка? инициализировать? Я думаю, что пакет mvn идет последним.

Stelios Botonakis 23.05.2019 14:44

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

Stelios Botonakis 23.05.2019 14:51

да, вам нужно установить maven, и чтобы понять все команды maven, я предлагаю поискать несколько руководств о том, как использовать maven, потому что это слишком долго объяснять здесь. И если у вас есть еще вопросы, начните новую тему со своими вопросами. Если он говорит, что какой-то пакет не может быть найден, то некоторые пакеты не могут быть найдены. И некоторые символы не могут быть найдены. Пожалуйста, если вы собираетесь задавать вопросы, вы должны быть очень подробными в своих вопросах.

Toerktumlare 24.05.2019 12:42
Ответ принят как подходящий

Для интеграции локальных файлов jar в ваш проект maven посмотрите: Как добавить локальные файлы jar в проект Maven?

Чтобы добавить Spring Boot в ваш pom.xml, вам нужно добавить следующее (из этого документа

<!-- Inherit defaults from Spring Boot -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.5.RELEASE</version>
</parent>

<!-- Add typical dependencies for a web application -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

<!-- Package as an executable jar -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Я настроил свой pom, и я думаю, что spring был построен правильно, но моих банок слишком много, чтобы добавлять каждую из них по отдельности. Смогу ли я по-прежнему запускать свое приложение на сервере tomcat Centos 7 VM, когда файлы jar хранятся локально на моем ПК?

Stelios Botonakis 22.05.2019 23:42

Я думаю, вы могли бы сделать это с помощью нескольких шагов: 1 - упаковать приложение spring как war 2 - смонтировать папку, в которой хранится ваш локальный jar на вашей виртуальной машине 3 - настроить путь к классам вашего приложения с подключенной папкой, чтобы иметь возможность разрешать зависимости . Хотя я настоятельно рекомендую вам хранить ваши локальные зависимости в папке /bin в базовом репозитории вашего приложения, а затем добавлять их с помощью maven. Гораздо более воспроизводимый.

charlycou 23.05.2019 11:22

Я бы также рекомендовал использовать Tomcat, встроенный в SpringBoot, упаковав ваше приложение в виде jar-файла. Если все ваши локальные зависимости указаны в вашем pom.xml, вы можете создать файл jar своего приложения и развернуть его где угодно, если установлена ​​java.

charlycou 23.05.2019 11:28

Что вы подразумеваете под «вы должны хранить свои локальные зависимости в папке / bin в базовом репозитории вашего приложения, а затем добавлять их с помощью maven»? Разве я не могу просто добавить их, чтобы построить путь, как всегда? Нужно ли мне делать что-то конкретное с банками?

Stelios Botonakis 23.05.2019 14:48

Я понял часть об их хранении в папке lib внутри проекта, но я добавил их для нормального пути сборки.

Stelios Botonakis 23.05.2019 16:37

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