第一次使用 tomcat/從頭開始設置 webapp,所以請大發慈悲。我創建了一個嵌入式 tomcat 服務器,它基本上是這樣的:public class Server implements Runnable {private Tomcat tomcat;public Server() { tomcat = new Tomcat(); tomcat.setPort(8080); tomcat.addWebapp("", new File("src/webapp").getAbsolutePath());}@Overridepublic void run() { try { tomcat.start(); tomcat.getServer().await(); } catch (LifecycleException e) { e.printStackTrace(); }}我在一個看起來像這樣的主程序中運行它:public static void main(String[] args) throws Exception { Thread thread = new Thread(server); thread.start(); Foo foo = new Foo(); (thread.isAlive()) { foo.doStuff(); TimeUnit.HOURS.sleep(interval); }}該程序的目的是在一個線程上運行 http 服務器,而類 Foo 每隔幾小時在后端做一些事情??赡懿皇莿摻ňW絡應用程序的正確方法,但這是我管理過的最好的方法。但是,現在我正在嘗試打包它,但我遇到了問題,因為一旦打包(使用 Maven),似乎Server無法找到 webapp 文件夾。經過幾個小時的谷歌搜索并嘗試了很多涉及 war:s 和 jar:s 的東西后,我得出的結論是,我不理解這種嵌入式 tomcat 的東西。所以,我的問題是:我實現我的 webapp 的方式是否正確?我感覺不是,但我無法真正確認。2a. 如果不正確,如何做正確?2b. 如果正確,如何將它打包成可運行的 jar/war?
1 回答

三國紛爭
TA貢獻1804條經驗 獲得超7個贊
這是一種非標準的處理方式。與其編寫您自己的所有應用程序邏輯來處理集成的 Web 服務器,不如考慮利用已經存在的東西?您可以在 Spring Boot 中創建一個 Java 項目,它包含自己的嵌入式 Web 服務器。
我會推薦這種方法而不是自己編寫它,因為 Spring Boot 是一個被廣泛使用、證明和測試的行業標準。
添加回答
舉報
0/150
提交
取消