簡體   English   中英

從終端編譯時Maven項目缺少包

[英]Maven project is missing package when compiling from terminal

我目前正在嘗試從命令行編譯我的第一個 Maven 項目,但是每當我運行此命令時:

C:\Users\zacha\git\INF2050\tp1\PELZ07039904\src\main\java>javac analyse.java

我得到這個回analyse.java:7: error: package org.apache.commons.io does not exist

但是當我直接從 InteliJ 運行它時,該項目運行得非常好

這是我的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>org.example</groupId>
    <artifactId>PELZ07039904</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>

        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.8.0</version>
        </dependency>
    </dependencies>

</project>

我檢查了一下,我所有的 jar 都在我的 .m2 文件中,所以我不確定為什么我會收到這個錯誤。

javac 對 maven 及其依賴關系一無所知。 它所能做的只是編譯一個類。 就是這樣。 相反,您需要使用 maven 特定命令。

Maven 提供了一個命令行工具。

要通過命令行構建 Maven 項目,請從命令行運行 mvn 命令。 該命令應在包含相關 pom 文件的目錄中執行。 您需要為 mvn 命令提供生命周期階段或要執行的目標。

Maven 工具讀取 pom 文件並解析項目的依賴項。 Maven 驗證本地存儲庫中是否有所需的組件。 本地存儲庫位於用戶主目錄的 .m2/repository 文件夾中。

例如 mvn clean install 命令觸發 jar 打包。 這包括編譯源代碼、執行測試並將編譯后的文件打包到 JAR 文件中。 作為最后一步,安裝階段將生成的工件安裝到本地存儲庫中,因此它可以用作其他 Maven 構建的依賴項。

在此處查看完整指南

暫無
暫無

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

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