我需要创建一个简单的jar,包含我的Tomcat8设置和我的web应用程序war。
为什么?我想创建一个可移植的web应用程序,这意味着你可以在任何地方托管它,linux、windows、mac等等。唯一需要的是jar文件,所有数据都保存在包含当前jar文件的文件夹中创建的"data"文件夹中。
目标是创建一个jar文件,你只需要启动tomcat,它完成了,你的web应用程序准备好了,正在监听。
我不知道这是否可能,但我用谷歌什么也没找到。
PS:我将使用VAADIN7(用于web应用程序),Jersey JAX-RS(用于rest api)和Neo4j(用于数据)如本文所述:带有可执行Tomcat的独立web应用程序
您可以使用tomcat7:exec-war
maven目标来创建包含所有tomcat类的自执行jar。
因此您将只能使用:
java -jar createjar.jar
来运行您的
你必须用这个插件条目扩展你的pom.xml
:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<id>tomcat-run</id>
<goals>
<goal>exec-war-only</goal>
</goals>
<phase>package</phase>
<configuration>
<path>/application</path>
<enableNaming>false</enableNaming>
<finalName>application.jar</finalName>
<charset>utf-8</charset>
</configuration>
</execution>
</executions>
</plugin>
构建应用程序:mvn package
并运行Tomcat和您的嵌入式应用程序:$ java -jar application.jar
或者,查看这个Heroku教程描述了使用嵌入式Tomcat创建web应用程序的过程:使用嵌入式Tomcat创建Java web应用程序
按照http://projects.spring.io/spring-boot/#quick-start
上的说明,我能够在10分钟内运行项目Spring boot的神奇之处在于它打包了我们需要的所有必要的东西,并帮助降低了基础设施等方面的开发成本。帮助开发人员专注于交付实际的业务价值。
微服务(正如我在多线程中提到的)是可以实现的,并且通过这个spring引导方法变得很容易。