簡體   English   中英

從 tomcat 8 遷移到碼頭服務器

[英]Migrating from tomcat 8 to jetty server

我在 tomcat 8 服務器上運行基於 Java 的應用程序。 最近我在使用 tomcat 時遇到了一些問題,所以我決定用 jetty 服務器來改變它。我的問題與 @Autowire 注釋有關。 這是我的更改和我的控制台。

我已經刪除了 tomcat 的依賴項和插件,並為我在網上找到的碼頭添加了一些。

    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-annotations</artifactId>
        <version>7.6.8.v20121106</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>apache-jsp</artifactId>
        <version>9.2.7.v20150116</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>apache-jstl</artifactId>
        <version>9.2.7.v20150116</version>
    </dependency>

    <plugin>
        <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-maven-plugin</artifactId>
         <version>9.2.8.v20150217</version>
    </plugin>

這是我的控制台錯誤:

引起:org.springframework.beans.factory.BeanCreationException:無法自動裝配字段:private com.snt.hr.service.attendances.CheckInService com.snt.hr.tasks.AttendanceSyncTask.checkInService;

現在您的問題沒有包含足夠的信息來提供正確的答案。

但是你的問題確實暗示了一些問題。

對於所有依賴項和插件,您必須在任何地方使用相同版本的 Jetty。

  • Jetty 7 是 EOL(生命周期結束)
  • Jetty 9.2 是 EOL(生命周期結束)

使用當前、穩定和受支持的東西。

https://www.eclipse.org/jetty/documentation/current/what-jetty-version.html

如果您使用當前和最新的 3rd 方庫,那么至少使用 Jetty 9.4.9 或更新版本很重要(因為各種 3rd 方庫已開始采用 JSR-238 多版本 JAR 存檔 - https://openjdk。 java.net/jeps/238和 Jetty 對此類 JAR 檔案的支持僅存在於 Jetty 9.4.x 中)

請注意,一旦升級 Jetty,您的 spring 依賴項(您未在問題中列出)也可能需要升級,因為舊版本的 Spring 無法與新版本的 Jetty 一起使用,出於各種技術原因,一些 Jetty 正在做,一些 Java 的做法,一些 Spring 的錯誤假設。

您選擇的 Jetty 依賴項列表似乎很短。 這是一個有效的列表,將幫助您入門,因為大多數更重要的依賴項將從jetty-annotations中提取,但這種簡單的設置是不尋常的。

我看到您正在使用 JSP。 JSP 是一門特別精致的技術之花,需要進行一些設置才能正常運行。

參見: https : //github.com/jetty-project/embedded-jetty-jsp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM