簡體   English   中英

非Maven項目使用Jersey,Glassfish 4和Netbeans進行文件上傳處理

[英]File upload handling with Jersey, Glassfish 4 and Netbeans for non Maven project

我在使用Jersey,Glassfish 4和Netbeans實施文件上傳處理時遇到麻煩。 我知道那里有很多教程,但是他們都使用maven項目。

就像我們知道的那樣,在Netbeans Web應用程序項目中,選擇Glassfish作為服務器后,我們可以使用所有JEE API,因為Netbeans會自動將Glassfish中的JEE API添加到我們的庫中(如下圖所示)。 我認為它僅用於編譯,不包含在部署的戰爭中。

在此處輸入圖片說明

我們甚至可以創建一個新的非Web Java應用程序,並通過向我們的庫中添加Java EE 7 API來使用JEE API,該庫是其唯一的API進行編譯,在運行時所有類都由服務器提供(如第二幅圖所示)。

在此處輸入圖片說明

現在,我想使用Jersey Multipart API來處理文件上傳。 Glassfish在其modules文件夾中已經具有所需的jar,例如jersey-media-multipart。 (第3張圖片),我知道它們是在運行時提供的,但是我需要它們來編譯我的項目。 僅僅將jars添加到項目庫中並不是一個正確的方法,因為它會給我帶來很多奇怪的錯誤,我們知道我們不應該因為Glassfish已經提供了它們。

在此處輸入圖片說明

我需要像Jersey Multipart API這樣的東西來編譯項目,以便在運行時項目使用Glassfish已經提供的所有類。 就像Netbeans提供並運行良好的Java EE 7 API庫一樣。

好吧,這是解決方案...

如果僅添加jersey-media-multipart,則會收到未找到錯誤HttpReader的消息,因此需要在glassfish模塊中添加所有球衣容器。

接下來,右鍵單擊netbeans項目中的librarys文件夾,然后在compile選項卡中,取消選中package列中的所有jersey jar,以使它們在我們構建/運行項目時被排除。

在此處輸入圖片說明

希望這對有類似問題的人有所幫助。

暫無
暫無

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

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