我正在使用maven 3.2.2
和jdk-1.7.0_60
。我正在为特定项目执行mvn compile
,编译成功。但是当我在同一个组件上运行mvn clean install
时,我收到以下错误 -
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/projects/myProject/src/mainTest.java:[105,56] cannot find symbol
symbol: method getIdFromName(java.lang.String)
location: class java.lang.Object
这背后的原因是什么? mvn compile
实际上没有编译所有内容吗?据我所知,mvn compile
和mvn clean install
之间的唯一区别是后一个命令复制了所需的jar。
答案 0 :(得分:2)
如果您查看Maven Build Lifecycle,您会发现test-compile
阶段在compile
之后,install
之前。
由于无法编译的文件是mainTest.java
,看起来这是你的问题:
mvn compile
是否真的编译一切?
不,它不编译测试源。
答案 1 :(得分:1)
我面临同样的情况,这是在我添加单元测试用例时开始的,对我有用的是,首先运行
mvn clean install -DskipTests=true
然后再次运行
mvn clean install