Java 如果在Intellij中手动添加JAR,则会发生编译错误

Java 如果在Intellij中手动添加JAR,则会发生编译错误,java,spring,maven,intellij-idea,Java,Spring,Maven,Intellij Idea,我在我的项目中使用Maven,出于某些原因,应该手动添加一些额外的JAR,我遵循了类似的步骤 可以成功导入包。但是,会发生编译错误,这表明包不存在,并且找不到所用对象的符号 我尝试了以下技巧,但没有改变: 无效缓存/重新启动 再进口 删除.idea文件和.iml文件 该场景与此场景类似: 请参见以下示例图像。它可能会成功运行,但无法很好地编译 原因是,当您通过IntelliJ手动添加库时,只有IntelliJ知道它们,而当您使用Maven编译代码时,Maven无法找到它,因为Maven只搜索您在

我在我的项目中使用Maven,出于某些原因,应该手动添加一些额外的JAR,我遵循了类似的步骤

可以成功导入包。但是,会发生编译错误,这表明包不存在,并且找不到所用对象的符号

我尝试了以下技巧,但没有改变:

无效缓存/重新启动 再进口 删除.idea文件和.iml文件 该场景与此场景类似:

请参见以下示例图像。它可能会成功运行,但无法很好地编译


原因是,当您通过IntelliJ手动添加库时,只有IntelliJ知道它们,而当您使用Maven编译代码时,Maven无法找到它,因为Maven只搜索您在pom.xml中定义的依赖项

您应该在至少本地的maven存储库中安装库,并将它们作为普通依赖项添加到pom.xml中。然后,您不需要在IntelliJ中手动添加它们

您应该遵循中提到的步骤

更新:
另外,您还应该注意,如果您是一个团队,那么您应该在所有开发人员的本地maven存储库中安装这个,这是不实际的。最好的解决方案是在本地网络的服务器上安装Maven存储库,例如Nexus、Artifactory或Archiva,并在这些服务器上上载您的私有jar文件。然后,所有开发人员都可以在本地Maven设置中定义本地Maven存储库服务器的地址,并使用来自该服务器的工件/库。此外,它还可以作为本地缓存/代理来获取任何Maven工件,并防止对公共Maven存储库进行不必要的调用。

原因是,当您通过IntelliJ手动添加库时,只有IntelliJ知道它们,当您使用Maven编译代码时,Maven无法找到它,因为Maven只搜索您在pom.xml中定义的依赖项

您应该在至少本地的maven存储库中安装库,并将它们作为普通依赖项添加到pom.xml中。然后,您不需要在IntelliJ中手动添加它们

您应该遵循中提到的步骤

更新:
另外,您还应该注意,如果您是一个团队,那么您应该在所有开发人员的本地maven存储库中安装这个,这是不实际的。最好的解决方案是在本地网络的服务器上安装Maven存储库,例如Nexus、Artifactory或Archiva,并在这些服务器上上载您的私有jar文件。然后,所有开发人员都可以在本地Maven设置中定义本地Maven存储库服务器的地址,并使用来自该服务器的工件/库。此外,它还可以作为本地缓存/代理来获取任何Maven工件,并防止对公共Maven存储库进行不必要的调用。

在Maven项目中,您不能手动添加JAR。您的jar应该位于Maven存储库中,可以是Nexus/Artifactory,也可以是本地jar。我认为您需要依赖关系。如前所述,将此jar安装到Maven本地存储库中,并将其作为Maven依赖关系添加到pom.xml的依赖关系部分。在Maven项目中,您无法手动添加jar。您的jar应该位于Maven存储库中,可以是Nexus/Artifactory,也可以是本地jar。我认为您需要依赖项。如前所述,将此jar安装到Maven本地存储库中,并将其作为Maven依赖项添加到pom.xml的依赖项部分。谢谢您的回答。我将要添加到我的项目中的jar是一个私有的定制jar,而不是一个公共库。在这个场景中,我是否也必须安装它以使它对Maven可见?我正试图通过说明安装它。但是,它似乎不起作用。你会得到什么错误?安装过程中是否有错误或何时使用?请考虑以下事项。我确信路径是正确的,因为我将其复制并粘贴到命令行上[错误]您指定的目标需要执行一个项目,但此目录/Users/中没有POM。请验证您从正确的目录调用了Maven。->[帮助1][错误]。。。[错误][帮助1]只要您使用Maven进行构建,就没有其他方法可以添加自定义依赖项。我更新了我的答案,提供了关于本地maven服务器的更多细节。也许它可以帮助您使用本地网络存储库的GUI来完成这项工作。谢谢您的回答。现在我对Maven有了更好的了解。谢谢你的友好回答。我将要添加到我的项目中的jar是一个私有的定制jar,而不是一个公共库。在这个场景中,我是否也必须安装它以使它对Maven可见?我正试图通过说明安装它。但是,它似乎不起作用。你会得到什么错误?安装过程中是否有错误或何时使用?请考虑以下事项。我相信这条路是正确的,因为我复制并通过了
将其加载到命令行中[错误]您指定的目标需要执行一个项目,但此目录/Users/中没有POM。请验证您从正确的目录调用了Maven。->[帮助1][错误]。。。[错误][帮助1]只要您使用Maven进行构建,就没有其他方法可以添加自定义依赖项。我更新了我的答案,提供了关于本地maven服务器的更多细节。也许它可以帮助您使用本地网络存储库的GUI来完成这项工作。谢谢您的回答。现在我对Maven有了更好的理解。