首页 > 解决方案 > IntelliJ 找不到自定义库 [Maven]

问题描述

当我编写我的第一个“真正的”java 项目(控制台中的 todo 应用程序)时,我意识到我使用了很多可以轻松制作成我自己的库(简单的 Maven 项目)的方法。我使用 File>Project Structure>Modules>Dependencies>Java 将根文件夹添加到我的主过程中,并选择了根文件夹 - Toolbox。但是当我输入

import org.toolbox.Tools.*;

一切都很好,用法也很好,但无法编译。首先是错误信息:

Error:(5, 19) java: package org.toolbox does not exist
Error:(6, 25) java: package org.toolbox.Tools does not exist
Error:(10, 69) java: package Tools does not exist
Error:(13, 9) java: cannot find symbol
  symbol:   class Tools
  location: class org.todo.ToDo
Error:(13, 27) java: cannot find symbol
  symbol:   class Tools
  location: class org.todo.ToDo
Error:(16, 9) java: cannot find symbol
  symbol:   class STATE
  location: class org.todo.ToDo
Error:(18, 23) java: cannot find symbol
  symbol:   variable STATE
  location: class org.todo.ToDo

现在我的依赖项的屏幕截图 依赖关系

IntelliJ Idea Ultimate 2019.3.1 JDK 11.0.1 Manjaro Linux

任何帮助将不胜感激

根据要求, todo 的 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.todo</groupId>
    <artifactId>TO-DO</artifactId>
    <version>1.0-SNAPSHOT</version>
<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
               <release>11</release>
            </configuration>
        </plugin>
    </plugins>
</build>

</project>

和我图书馆的 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.toolbox</groupId>
    <artifactId>Toolbox</artifactId>
    <version>1.0-SNAPSHOT</version>

    // because i was getting an error with maven compiler defaulting to        1.5
    <properties>
        <maven.compiler.source>1.6</maven.compiler.source>
        <maven.compiler.target>1.6</maven.compiler.target>
    </properties>


</project>

标签: javamavenintellij-ideaimportpackage

解决方案


使库项目也成为一个 Maven 项目(具有自己的组、工件 ID 和版本)。比增加其他 maven 项目的依赖性。(这将在 IDE 内部和外部工作)

一旦你开始使用 maven,继续使用 maven,尝试添加依赖项:

您必须使用运行“mvn clean install”的 maven(从命令行或从 IDE)安装依赖项(这对于像 maven 这样的打包系统是基本的)。

<?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.todo</groupId>
<artifactId>TO-DO</artifactId>
<version>1.0-SNAPSHOT</version>

        <!-- try to add dependancies -->
        <dependencies>
            <dependency>
                <groupId>org.toolbox</groupId>
                <artifactId>Toolbox</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>

        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                    <configuration>
                       <release>11</release>
                    </configuration>
                </plugin>
            </plugins>
        </build>


推荐阅读