我是Intellij Idea的新手,我只是导入了一个项目pom.xml,但是ide并没有解决maven依赖项中的任何问题.
pom.xml在代码中导入时,依赖项中定义的任何内容都会引发错误cannot resolve symbol xxxxx
但是mvn install会工作,我尝试Project Settings/Libraries在.jar文件中导入依赖项,然后它可以工作,但是ide可以解析定义的库pom.xml吗?我不想每次都这样做.
附加信息:
IDEA版本:12.0.3,操作系统:Windows 7,重新导入不起作用,maven版本:3.0.4,Exernal Libraries下不存在maven依赖项.
idea.log中没有例外......
我在IntellijIDEA中有一个用Maven创建的项目.然后,我在Pom.xml文件中指定了一组依赖项和外部存储库.
如果我执行"mvn install",项目在命令行上可以正常运行.当我在IDE中打开任何代码文件时,虽然它表示Maven依赖项处理的所有类都无法识别 - 如果我从未将所需的JAR添加到构建路径,那么它将用于普通项目.
我知道在我的Eclipse Maven项目(而不是IntelliJ)中,它通常会在左侧显示一个额外的目录,上面写着"Maven Dependencies",并列出了通过maven引入的JAR.我在这里看不到.我究竟做错了什么?
这是我的屏幕的样子:

当使用 springboot 2.7 生成的 start.spring.io 项目时,它附带 MavenProject 3.8.5,当导入 intellij 时,会导致一个非常难以调试或不自言自语的错误。
错误
java.lang.RuntimeException: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Unable to provision, see the following errors:
1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method 'void <init>()' not found
at org.jetbrains.idea.maven.server.embedder.CustomModelValidator.<init>(Unknown Source)
while locating org.jetbrains.idea.maven.server.embedder.CustomModelValidator
at ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]] (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)
while locating org.apache.maven.model.validation.ModelValidator annotated with @com.google.inject.name.Named(value="ide")
1 error
role: org.apache.maven.model.validation.ModelValidator
roleHint: ide
Run Code Online (Sandbox Code Playgroud) 我有一个用Eclipse编写的Java代码库,我试图在IntelliJ中使用它.代码库由大约20个Java包组成,它们彼此并行构建为单独的项目.(大约有20个目录,每个目录包含一个.classpath和一个.project文件.)它们彼此依赖.大概在Eclipse中一切都很好.
我从Eclipse构建格式中导入了IntelliJ.除了Project Settings -> Modules -> Dependencies显示许多项目具有未解决的依赖性之外,它似乎主要起作用org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER.这似乎来自.classpath文件中的以下条目:
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</classpathentry>
Run Code Online (Sandbox Code Playgroud)
具有此依赖关系的包不会在IntelliJ中生成,因为它们无法解析其他包的依赖关系.
我怀疑这org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER是一些特定于Eclipse的技巧,并没有转换为不同的IDE,但我无法确切地知道这里发生了什么.
什么是org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER?我是否必须对使用它来使其在Eclipse外部工作的构建环境做任何特殊操作?
IntelliJ Ultimate 2016.1.2,Java 1.8.0_91,OS X 10.11.5
我通过进入项目设置 - >模块并在我的各种项目之间手动添加模块依赖关系来解决这个问题,直到构建完所有内容.繁琐但有效.
我在这里留下这个问题,因为一个简短的定义对我org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER来说仍然有用.
我已经导入了maven多模块项目,并且没有解决一些传递依赖项.这个项目在Jenkins/Eclipse/Console中构建.
我已经尝试了两个单独导入每个项目,并且还只导入父pom - 两者都不起作用.
我有以下结构:Project A并且Project B具有公共父级,并且两者都被定义为此父级中的模块.Project A包含作为依赖项jackon-jar,Project B没有它.Project A包含默认范围内的jackson-jar - jar在编译期间可见并且测试正在运行.现在Project B进口Project A,也使用杰克逊罐 - 这里是问题 - 杰克逊罐在不可见的Project B:(当我在Project B所有工作中明确指定它工作正常,但它应该自动作为传递依赖从Project A......
这是常见问题吗?有解决方法吗?
以下是POM示例:
家长:
<project ....>
<modelVersion>4.0.0</modelVersion>
<version>1.0-SNAPSHOT</version>
<groupId>miklas.test</groupId>
<artifactId>my-parent</artifactId>
<packaging>pom</packaging>
<modules>
<module>my-project-a</module>
<module>my-project-b</module>
<module>my-project-c</module>
</modules>
</project>
Run Code Online (Sandbox Code Playgroud)
项目-A
<project ....>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>miklas.test</groupId>
<artifactId>my-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>my-project-a</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.3.4.Final</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
项目-B
<project >
<modelVersion>4.0.0</modelVersion> …Run Code Online (Sandbox Code Playgroud) 我今天已经更新到IntelliJ 14.0.1。我导入了我在IntelliJ 13.1上工作的Maven项目,尽管成功导入了该项目,但是当我尝试从IntelliJ Make或Compile从IntelliJ获得该项目时却找不到依赖项。
我需要说的是,即使从IntelliJ内部进行Maven安装,也成功。但是,当我Make出现项目错误时,表明缺少库(依赖项)。
在我看来,以某种方式从IntelliJ进行的编译步骤不会吸收Maven依赖项,或者没有考虑pom.xml到这一点。
有没有人遇到过类似的事情?关于如何解决该问题的任何想法?我已经尝试过重新导入该项目,但没有帮助。另外,我创建了一个仅将JUnit作为依赖项的虚拟项目,但是即使这样,IntelliJ仍在抱怨说,org.junit.Test当我尝试运行测试时找不到。
我在IntelliJ日志中看到以下内容,这可能是相关的。好像编译被中止了。
2014-11-14 17:17:11,460 [247914]信息-j.compiler.server.BuildManager-BUILDER_PROCESS [stdout]:17:17:11,445 | -ch.qos.logback.classic.LoggerContext中的INFO [默认]-在[jar:file:/ C:/ Program%20Files%20(x86)/JetBrains/IntelliJ%20IDEA%20Community%20Edition%2014.0.1/plugins/gradle/lib/gradle.jar中找到资源[logback.groovy]! /logback.groovy]
2014-11-14 17:17:11,460 [ 247914] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stdout]: 17:17:11,446 |-ERROR in ch.qos.logback.classic.LoggerContext[default] - Groovy classes are not available on the class path. ABORTING INITIALIZATION.
2014-11-14 17:17:13,459 [ 249913] INFO - lij.compiler.impl.CompilerUtil - COMPILATION FINISHED (BUILD PROCESS); Errors: 5; warnings: 0 took 2652 ms: 0 min 2sec
Run Code Online (Sandbox Code Playgroud) compilation intellij-idea maven maven-compiler-plugin intellij-14
我在IntelliJ 13中使用Maven导入了一个库(JBox2D),用于android项目.Maven没有给我任何错误消息,所以我假设库已正确导入.
但是,一旦我尝试使用库中的类,我就会得到"无法解析符号".IntelliJ不像往常那样提供添加import语句的选项.
我该怎么办?
maven ×5
java ×3
build ×1
compilation ×1
eclipse ×1
import ×1
intellij-14 ×1
jbox2d ×1
maven-3 ×1
spring ×1
spring-boot ×1