Bu uygulama bildiğim kadarıyla söyleyebilirim olarak Spring MVC uygulaması değil - muhtemelen imiş geçirmek için bir çok daha kolay olurdu. Hedef (github sorunu başına), bir yürütülebilir JAR elde etmektir. Temel plan, ilk önce Spring Boot kullanarak bir WAR'a ve sonra bir kez JAR'a geçecek. Oldukça basit bir uygulama bu yüzden gerçekten ihtiyacımız olan tek şey web.xml
'a bakmak ve ilgili Spring Boot özelliklerine çevirmektir. Bazı genel kılavuzları:
(örneğin Application
adlı bir sınıf olarak) SpringBootServletInitializer
genişleterek konuşlandırılabilir bir WAR oluşturmak ve Yay Önyükleme @EnableAutoConfiguration
açıklama ekle. Örnek:
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
Sonra bir yapılandırmayı ekleyin:
tip Servlet
veya ServletRegistrationBean
bir @Bean
bu web.xml
A bir <servlet/>
ve <servlet-mapping/>
kapta fasulyesi sanki bu yükler türünde Filter
veya FilterRegistrationBean
benzer şekilde davranır (<filter/>
gibi ve <filter-mapping/>
).
bu durumda ApplicationContext
bir XML dosyasında köklü, böylece en kolay ilk adım @Import
etmektir ki Bahar Application
içine. Bu çok basittir, @Bean
tanımları olarak birkaç satırda yeniden oluşturulabilir.
Statik kaynakları sınıf yolu kök WAR kez
içinde /public
(veya /static
veya /resources
veya /META-INFO/resources
) taşınır kurabilen Application
, örneğin bir main
yöntemi ekleyerek bunu yürütülebilir hale çalışmaktadır
Ayrıca bkz. Getting Started Guide on Converting a JAR to a WAR.
Dediğim gibi, bu özel uygulamadaki en büyük sorun, bir Spring MVC uygulaması olmamasıdır. İrlandalı'nın dediği gibi "Eğer oraya ulaşmak istiyorsam efendim, buradan başlamazdım.""Bu genel olarak ilginç bir sorudur, fakat Spring Spring uygulamasına Spring Spring uygulamasına geçmek isteyen herkese burada genel öneriyi okuyabilir ama belki başka bir yerde başka bir tartışma başlatırsınız.
Neyse, dönüştürme konusunda bir basheyim var Bu özel uygulama (kaynak kod kavanozları güzel olurdu) ve yeni bir şey öğrenirsem bu yanıtı güncelle
Springboot ile bu eğilimin savaştan JAR'a gitmesini bekliyorum. Springboot + gwt ile verimli bir şekilde çalışmamı sağlayacak bir geliştirme dostu pom.xml ayarlamaya çalışmak için çok güzel bir sorun.GWT run iskelesini devre dışı bırakmak ve GWT derlemesi yapıp yapmadıkça, JAR konseptini çalıştırıyorum. META-INF/kaynaklarında kaynakları düzgün bir şekilde çalıştıracak dev zamanı. Ama evet, bazı insanlar JAR'dan SAVAŞ’a daha çok, örneğin uygulama motoru. Ama genel olarak bahar önyükleme bir JAR kadar güzel. – 99Sono
Mutli savaş projesi ne olacak? http://stackoverflow.com/questions/35632394/converting-multi-war-application-to-spring-boot – Yosefki
@ dave-syer, notlar için teşekkürler, bunu çok yararlı buluyorum. Bunun çok eski bir yazı olduğunu biliyorum, geçtiğimiz günlerde Spring Boot'a nispeten istikrarlı bir Non SpringMVC web uygulamasının taşınmasını değerlendirmem istendi. Fikir, otomatik ölçeklendirme ile bulut üzerinde konuşabilmek için yürütülebilir bir jar stiline dönüştürmektir. Bu konuda sizin fikriniz hakkında tavsiyede bulunabilirsiniz, son 3 yılda Spring BOOT'ta değişmiş veya buna karşı etki edebilecek herhangi bir şey değişebilir. – Venkat