我需要创建一个包含我的Tomcat8设置和我的Web应用程序战争的简单jar。
为什么呢?我想创建一个可移植的Web应用程序,这意味着你可以在任何地方,linux,windows,mac等任何地方托管它。唯一需要的是jar文件,所有数据都保存在"数据"在包含当前jar文件的文件夹中创建的文件夹。
目标是创建一个jar文件,你必须开始启动tomcat并完成它,你的web应用程序就绪并且正在倾听。
我不知道它是否可能,但我发现没有使用谷歌。
PS:我将使用VAADIN7(用于网络应用),Jersey JAX-RS(用于休息api)和Neo4j(用于数据)
答案 0 :(得分:8)
如本博客文章所述: Standalone web application with executable Tomcat
您可以使用tomcat7:exec-war
maven goal创建包含所有tomcat类的自执行jar。
所以你只能使用:
java -jar createjar.jar
来运行你的 webapp,无需安装Apache Tomcat实例。
您必须使用此插件条目扩展您的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应用程序的过程:Create a Java Web Application Using Embedded Tomcat。
答案 1 :(得分:1)
我能够在10分钟内按照http://projects.spring.io/spring-boot/#quick-start
上的说明运行项目Spring boot在某种意义上是惊人的,它包含了我们需要的所有必要的东西,并有助于降低基础架构的开发成本等。帮助开发人员专注于提供实际的业务价值。
微服务(正如我在多个线程中提到的)是可以实现的,并且使用这种弹簧启动方法变得容易。