JavaRush /Java Blog /Random-TW /使用 Maven 連接庫
Дмитрий Яковенко
等級 35
Москва

使用 Maven 連接庫

在 Random-TW 群組發布
使用 Maven 連接庫 - 1 問題 JavaRush 使用了 JDK8 中的一些套件,然後它們被刪除了。例如,用於遊戲的 JavaFX,或用於 XML 處理的 JAXB。因此,如果您使用的是新版本的JDK,那麼您就會遇到問題...但即使您使用的是舊版JDK8,那麼您也會遇到問題...在任務4 Collections 中,您將需要連接Jackson處理 JSON。當然,一切都可以手動連接,但這很乏味。您必須手動下載它們,將它們新增至專案... 解決方案 實際上,需要 Maven 來自動化此例程。0) 我強烈建議製作 JavaRush 專案的備份副本,否則你永遠不知道... 1) 首先,讓我們將 Maven 加入我們的專案。右鍵點擊4.JavaCollections模組,選擇Add Framework Support...Maven,[Ok] 2)現在我們找到pom.xml文件,在其中手動新增一個區塊
<dependencies>
</dependencies>
就在 </version> 之後 3) 然後我們開始加入我們需要的套件。如果我們需要Jeckson,我們Google「jackson maven dependency」我們找到這樣的答案:http://tutorials.jenkov.com/java-json/jackson-installation.html 我們看到對於Jeckson,我們需要3 個依賴項( artifactId) :jackson-core、jackson-annotations、jackson-databind 還有其他依賴項,但我們還不需要它們;我們會在需要時添加它們。現在,我們在這個網站上尋找這 3 個依賴項 - https://mvnrepository.com/ 我們在那裡輸入工件的名稱,找到大多數人使用的工件或最新版本。並將依賴文字複製到我們的 pom.xml 中。4)總的來說,我們的pom.xml變成了這樣:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>groupId</groupId>
    <artifactId>4.JavaCollections</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.12.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.12.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.3</version>
        </dependency>
    </dependencies>


</project>
太棒了,右鍵單擊它並選擇 Maven/Reimport。5)現在Jeckson在我們的程式中,物件的紅色名稱消失了。但是程式碼停止編譯,它寫了一個錯誤:
Error:java: error: release version 5 not supported
由於某種原因,當 Maven 引入專案時,支援的 Java 版本下降到 5...我們需要修復此問題: File\Settings\Build, Execution, Deployment\Compiler\Java Compiler 模組中顯示:對於我們的模組4.JavaCollections - 您需要使用Java5 進行編碼...我們在此視窗中刪除我們的模組。但這還不是全部,然後開啟 File\Project Structure\Modules ,我們選擇我們的模組 4.JavaCollections。接下來,選擇語言等級 - 項目預設標籤。5.1)我從第5點找到如何解決問題。只需將以下內容加入pom.xml:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
現在 Maven 將我們的模組的字節碼版本設定為 JDK 8,我們對此感到滿意。我沒有刪除第五點,我把它留作一般資訊。這樣就可以了解在 IDEA 中可以變更哪些 JDK 版本 6) 說到專案預設值。JavaRush 在 JDK 8 上運行。如果您有版本 11(或更高版本),那麼您會經常咒罵驗證器,它不會通過您的程式碼。因為您將編寫在 JDK 9+ 中輸入的程式碼,所以一切都會為您工作,並且驗證器會給您一個錯誤。因此,請前往:File\Project Structure\Project 我們指示您目前的 JDK 版本,並在其下方指示語言等級 - 嚴格為 8 - Lambda、類型註釋等。有什麼好處 - 你將看到 JDK 9+ 的功能,但如果你嘗試添加它們,IDEA 會詛咒。例如,“aaa”.lines(); - 你可以寫(IDEA 將取代它,儘管它會以紅色突出顯示),你也可以失敗 - 研究內部。但它不會讓你編譯。7) 我們需要做的最後一件事是修正 4.JavaCollections 套件內的路徑。Maven 重新製作了它們,我們按原樣返回它們: a) 轉到File\Project Structure\Modules b) 選擇4.JavaCollections\Source c) 刪除target、rosources、test d) 將來源資料夾放在src 上e)移動e) 主資料夾被刪除。一般來說,我們按照 Maven 之前的方式進行操作,類比 3.JavaMultithreading 8) 現在我們自己添加剩餘的依賴項,例如 JAXB。如果您需要新增日誌記錄,我的文章可以提供協助。我們將其添加到簡歷中——Maven。你太美了!如果有幫助 - 喜歡,訂閱,響鈴!)))
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION