Я мог бы воспроизвести эту ошибку. Не уверен, почему, но в следующем методе AbstractRunMojo.java
:
private void copyFile( String fromPath, File toFile )
throws IOException
{
URL fromURL = getClass().getResource( fromPath );
if ( fromURL == null )
{
throw new FileNotFoundException( fromPath );
}
FileUtils.copyURLToFile( fromURL, toFile );
}
Вызов getClass().getResource( fromPath )
действительно возвращает URL null
сразу после очистки и работает во время последующих вызовов. Я действительно не копал проблему, но это, кажется, проблема загрузки классов (возможно, связанная с MTOMCAT-25 ).
Это довольно раздражает, но обходной путь, очевидно, состоит в том, чтобы запустить цель во второй раз после первого сбоя.
РЕДАКТИРОВАТЬ: Я сообщил об этой проблеме, см. MTOMCAT-42 , которая была исправлена и был опубликован новый снимок плагина Maven Tomcat! Чтобы использовать его, добавьте следующий фрагмент к вашему pom.xml
:
<pluginRepositories>
<pluginRepository>
<id>Codehaus Snapshots</id>
<url>http://snapshots.repository.codehaus.org/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled> <!-- Workaround for MNG-2974, see note below -->
</releases>
</pluginRepository>
</pluginRepositories>
Затем измените версию плагина на 1.0-SNAPSHOT
и попробуйте снова.