我手上有一个情况我有我的客户的服务器上没有互联网连接(因为它是一个网内服务器),我有部署上我的春节,启动应用程序它使用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