2015-05-18 2 views
0

У меня есть ситуация, когда у меня нет подключения к интернету на сервере моего клиента (потому что это сервер внутри сети), и мне нужно развернуть на нем приложение Spring Boot который использует сборку Maven. Дело в том, что мне не разрешено подключать сервер к Интернету из-за соображений безопасности, но я могу получить доступ к Интернету на моей машине разработки. Поэтому у меня есть два вопроса:Развертывание проекта загрузки Maven Spring на сервере в автономном режиме

  • Как получить все зависимости от сервера, о котором идет речь? Могу ли я как-то скопировать загруженные файлы с моей машины разработки на сервер? Если да, то как?

  • Нужно ли мне настроить Apache Tomcat или я должен просто запустить файл войны из командной строки? Каковы наилучшие методы?

+1

First * make jar not war * (особенно с Spring Boot я бы сказал и процитировал хороший Josh Long здесь). Также просто создайте артефакт на своем компьютере (или создайте сервер) и просто скопируйте банку на сервер, сделав 'java -jar your.jar' и хорошо, что это. –

+0

@ M.Deinum Звучит интересно. Не могли бы вы рассказать об этом (я имею в виду построить артефакт на моей машине) и разместить его в качестве ответа? :) – shyam

+0

просто создайте свое приложение на машине разработки/CI, имеющей доступ в Интернет и развернув последнюю банку/войну на сервер клиента. нет необходимости в maven на сервере клиента. – sodik

ответ

0

Лучше сделать файл jar вместо того, чтобы сделать военный файл. Это поможет вам работать без Tomcat, поскольку он внедряет веб-сервер.

Зависимости упакованы в банку, когда вы делаете сборку Maven. Для его создания требуется подключение к Интернету. Скопируйте банку в производственную среду и запустите ее.

-1

Here является Striaght вперед примером для развертывания приложения загрузки пружины на TOMCAT сервера

Следуйте пример и добавить еще один tomcat6/tomcat7 плагина

  <!-- Tomcat 6 plugin --> 
      <plugin> 
       <groupId>org.apache.tomcat.maven</groupId> 
       <artifactId>tomcat6-maven-plugin</artifactId> 
       <configuration> 
        <url>${serverUrl}:${port}/manager</url> 
        <path>/${contextpath}</path> 
        <username>${username}</username> 
        <password>${password}</password> 
       </configuration> 
      </plugin> 

свойство плагина следующий

<properties> 
     <!-- Server Details --> 
     <serverUrl>http://kpServer</serverUrl> 
     <port>8080</port> 
     <contextpath>kp-cxf</contextpath> 
     <username>admin</username> 
     <password></password> 

     <!-- Skip test execution during default steps --> 
     <skipTests>true</skipTests> 
    </properties> 

И вы можете использовать mvn tomcat6:redeploy комм. и для развертывания на вашем сервере (на берегу maven загружает плагины/зависимости из Интернета на ваш сервер разработки, когда вы запускаете mvn tomcat6: deploy/package создает войны, беря банки из вашей локальной директории maven)

+0

Должен ли я добавить плагин tomcat, если я упакую все это как файл jar? AFAIK проект Spring Boot может быть упакован как объявление в jar-файле, если JDK присутствует. – shyam

+0

плагин tomcat добавляет преимущество, в одной команде вы можете развернуть, иначе вам нужно скопировать каталог warpa tomcat серверов вручную. Кроме того, не tomcat6 и tomcat7 не имеют разных плагинов, перейдите по ссылке, она объясняет, как следует количество шагов, таких как изменение упаковки, на войну, добавление точки входа для изменения, чтобы включить сервлет init, commneting из плагина весной загрузки и т. Д. –

+0

Я уже преобразовал упаковку в jar, но затем вернулась обратно в соответствии с комментарием М.Дейнума ранее: http://stackoverflow.com/questions/30295206/deploying-a-maven-spring-boot-project-on-a-server-offline/30297349? noredirect = 1 # comment48687299_30295206 – shyam

Смежные вопросы