在我们公司,我们使用修补过的 maven3 来替换
一个<version>${com.foo.bar.version}</version>
在执行所有 Maven 操作之前,使用真实版本的占位符。也许不是一个好主意,但我无法改变这个事实。
命令行一切正常 mvn
命令。
在 IntelliJ 中我设置了 maven home dir
到已打补丁的 Maven 的正确位置。
但是对click->maven->reimport
不起作用。
在模块设置中,我看到模块的依赖项版本错误。
是right click->maven->reimport
使用mvn dependency:tree
打补丁的 maven ?或者 IntelliJ 使用一些自己的实现?
以下是来自 IntelliJ 的 Maven 项目安装目标中的控制台
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Dmaven.home=/usr/share/java/patched/maven-3.0.3 -Dclassworlds.conf=/usr/share/java/patched/maven-3.0.3/bin/m2.conf -Didea.launcher.port=7536 "-Didea.launch er.bin.path=/Applications/IntelliJ IDEA 13 CE.app/bin"-Dfile.encoding=UTF-8 -classpath "/usr/share/java/maven-3.0.3/boot/plexus-classworlds-2.4.jar:/Applications/IntelliJ IDEA 13 CE.app/lib/idea_rt.jar"com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.La取消安装
这是否意味着它使用/usr/share/java/maven-3.0.3/boot/plexus-classworlds-2.4.jar 中的 java maven 实现,而不是我们修补的 maven 路径中的 maven 可执行文件?
顺便说一句,我发现版本变量 <version>${com.foo.bar.version}</version>
没问题,只是在父/ react 器 pom 中不可能
最佳答案
我什至不会问为什么需要使用“修补”maven(这似乎是一个非常糟糕的主意),但无论如何:我有理由相信,当您调用 reimport
操作时,intellij 正在使用它自己的内存中依赖项分析。
也许您最好使用 maven profile
为您的开发环境设置正确的版本
,并使用 -Pmyprofile
进行构建。
关于java - IntelliJ中使用的是哪个maven右键->maven->reimport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28042849/