經過大量的頭部劃傷和圍繞網站的圈子,我設法使用gradle將我的Spring啓動RESTful webservice作爲war文件部署到Tomcat中。它比文檔或其他網站更加簡單。關於WAR/JAR文件的春季啓動問題
不過,我只是有幾個問題:
如何從我的13MB文件中刪除春天的膨脹,而是使用一個共享/部署Spring版本代替,以更方便地支持更新庫?
爲什麼被嵌入的Tomcat還是把我的戰爭文件(在WEB-INF \ lib中提供的)?
有沒有辦法讓更簡單的jar版本爲開發目的而構建?
對於生產系統,jar如何生成與部署到容器的war文件一樣好的文件 - 您無法輕鬆修改配置,無法對其進行擴展(按照Web服務器或Web服務器的負載平衡),並且沒有管理前端。如果春天(或春季啓動)的意圖是真正創建自包含的微服務器,我仍然無法理解擴展它,甚至不知道如何在Windows中運行不是控制檯應用程序的jar ...
這裏是我的文件要點:
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'war'
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile('org.springframework.boot:spring-boot-starter-test')
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}
代碼:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
感謝。
謝謝。關於3,我只是從代碼/測試循環中點擊構建,然後運行比單擊構建然後部署到tomcat並運行快很多。真的,我是在不需要手動修改我的代碼/ gradle來迎合創建jar和戰爭的方式之後。 –
啊,我明白了。我不這樣工作(由於工作上的侷限性,我不在工作之外做Spring/Java),但是我根據環境設置了Maven配置文件。如果你這樣做,它可能會解決這個問題。你可以使你的包裝有條件。參考這個:https://gradle.org/blog/feature-spotlight-gradles-support-maven-pom-profiles/ –