java - 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>
解决方案
使库项目也成为一个 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>
推荐阅读
- c# - UserManager 的 CreateAsync 方法不起作用(身份)
- javascript - 选择具有相同id和不同属性jquery的元素
- angular - 从 API 获取数据
- windows - 在 Windows 上使用带有 PyTorch 的 CUDA 时,GPU 使用率显示为零
- ajax - 喊我取消 componentWillMount() 中的每个 ajax 请求?
- gdb - 在 GDB 中,如何打印具有特殊字符的符号的内容?
- python - 如何使用 exchangelib 将电子邮件添加到现有日历条目?
- python - PySide2 UI在显示后进入while循环时停止响应
- sql - 将不在表中组的前 x 行中的行加到“其他”行中?
- css - 无法使用 @use 从示例构建 scss