我在OSX 10.9.5上使用IntelliJ 13.0.2,使用java 1.8。尝试在IntelliJ中运行单元测试时出现此错误。当我在命令行中通过maven运行编译或测试时,它运行正常。
我已进入文件 - >其他设置 - >默认设置 - >编译器 - >注释处理器并取消选中启用注释处理。我也尝试过选中启用注释处理,并保留选中的默认值。
我们正在使用
运行测试@RunWith(MockitoJUnitRunner.class)
和它找不到的Annotation处理器是org.mapstruct.ap.MappingProcessor。我不知道从哪里得到它,它不在我们的进口中。也许是Mockito的依赖?
答案 0 :(得分:5)
这是因为领域而发生的。您可以使用这些依赖关系
classpath“io.realm:realm-gradle-plugin:2.0.0-SNAPSHOT
classpath'com.android.tools.build:grad:2.0.0-alpha3
classpath'com.neenbedankt.gradle.plugins:android-apt:1.8
2.0.0版本的快照。祝你好运!
答案 1 :(得分:4)
在我使用自己的注释处理器遇到的更一般的情况下,这是必要的。
在设置页面中,选择“处理器路径”单选按钮。这必须是目标jar,你应该尝试找到MappingProcessor jar。
我认为这是因为在终端上运行时,你会这样做:
// Destructor
~Stack()
{
if ((size > 0) && (currentArray) != NULL && (newArray != NULL))
{
delete[] currentArray;
delete[] newArray;
}
}
inline void push(T value)
{
if (isEmpty())
{
// Stack size is increased by 1
size++;
currentArray = new T[size];
currentArray[size - 1] = value;
}
else
{
// Stack size is increased by 1
size++;
// Create the new array
newArray = new T[size];
// Copy the contents of the old array into the new array
copy(currentArray, currentArray + size, newArray);
// Push the new value on to the new array
newArray[size - 1] = value;
// Copy the new array into the current
currentArray = new T[size];
currentArray = newArray;
}
}