我手上有一個情況我有我的客戶的服務器上沒有互聯網連接(因爲它是一個網內服務器),我有部署上我的春節,啓動應用程序它使用Maven構建。問題是,由於安全原因,我不允許將服務器連接到互聯網,但我可以在我的開發機器上訪問互聯網。所以我有兩個問題:部署Maven的春季啓動項目的服務器離線
如何獲得有問題的服務器上的所有依賴關係?我可以以某種方式將下載的文件從我的開發機器複製到服務器上?如果是這樣,怎麼樣?
我需要配置Apache Tomcat或我應該只是運行在命令行war文件?什麼是最佳實踐?
我手上有一個情況我有我的客戶的服務器上沒有互聯網連接(因爲它是一個網內服務器),我有部署上我的春節,啓動應用程序它使用Maven構建。問題是,由於安全原因,我不允許將服務器連接到互聯網,但我可以在我的開發機器上訪問互聯網。所以我有兩個問題:部署Maven的春季啓動項目的服務器離線
如何獲得有問題的服務器上的所有依賴關係?我可以以某種方式將下載的文件從我的開發機器複製到服務器上?如果是這樣,怎麼樣?
我需要配置Apache Tomcat或我應該只是運行在命令行war文件?什麼是最佳實踐?
最好是製作一個jar文件,而不是製作戰爭文件。這應該會幫助你在沒有Tomcat的情況下運行,因爲它嵌入了一個Web服務器。當你做一個Maven構建
依賴性都擠滿了瓶子裏。你需要有一個互聯網連接來建立它。將jar複製到生產環境並運行。
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
COMM並部署到您的服務器(在岸上maven下載從互聯網到你的開發服務器的插件/依賴項,當你運行mvn tomcat6時:deploy/package通過從本地maven目錄中取出jar來創建戰爭)
如果我將整個東西打包爲一個jar文件,我需要添加tomcat插件嗎?如果存在JDK,AFAIK Spring Boot項目可以打包爲jar文件廣告運行。 – shyam
Tomcat插件添加的優勢,在一個命令就可以部署,否則你需要將戰爭複製到Tomcat服務器手動webapps目錄。也不是tomcat6和tomcat7有不同的插件,通過鏈接,它解釋了遵循變化包裝到戰爭的步驟數量,添加修改入口點,以啓用servlet初始化,通訊彈出啓動插件等 –
我已經轉換包裝到jar,但後來根據M.Deinum早些時候的評論恢復:http://stackoverflow.com/questions/30295206/deploying-a-maven-spring-boot-project-on-a-server-offline/30297349? noredirect = 1#comment48687299_30295206 – shyam
首先*使罐子不是戰爭*(尤其是春季引導我要說,並在這裏引用了良好的喬什長)。也可以在你的機器上構建工件(或者構建服務器),並簡單地將jar複製到服務器上,執行'java -jar your.jar',就是這樣。 –
@ M.Deinum聽起來很有趣。你能詳細說明一下(我的意思是在我的機器上構建神器)並將其作爲答案發布? :) – shyam
只是在有互聯網訪問權的開發/ CI機器上構建您的應用程序,並將最終的jar/war部署到客戶端的服務器。客戶端的服務器上不需要Maven。 – sodik