mam prosty test na wtyczce maven:Testy maven wtyczek są niezgodne z Mavenie 3.0.4
public class SimpleMavenTest extends AbstractMojoTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
// code
}
public void testCase() throws Exception {
// test case
}
@Override
protected void tearDown() throws Exception {
// code
super.tearDown();
}
}
z taką maven-surefire-plugin konfiguracji:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>never</forkMode>
</configuration>
</plugin>
</plugins>
</build>
Do Maven 3.0.4 został zwolniony , mój SimpleMavenTest biegnie pomyślnie. Ale kiedy wykonać test przy użyciu maven 3.0.4, kolejny błąd został wystąpiły:
java.lang.IllegalStateException: The internal default plexus-bootstrap.xml is missing. This is highly irregular, your plexus JAR is most likely corrupt.
at org.codehaus.plexus.DefaultPlexusContainer.initializeConfiguration(DefaultPlexusContainer.java:1052)
at org.codehaus.plexus.DefaultPlexusContainer.initialize(DefaultPlexusContainer.java:627)
at org.codehaus.plexus.PlexusTestCase.setUp(PlexusTestCase.java:119)
at org.apache.maven.plugin.testing.AbstractMojoTestCase.setUp(AbstractMojoTestCase.java:69)
at org.maven.test.MyMojoTest.setUp(MyMojoTest.java:12)
at junit.framework.TestCase.runBare(TestCase.java:128)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Spojrzałem tutaj: http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html i próbował zmienić Maven-murowany-plugin konfigurację w taki sposób:
<configuration>
<forkMode>once</forkMode>
</configuration>
Wszystko działa poprawnie. Ale jeśli zrobię:
<forkMode>never</forkMode>
powyższy błąd wystąpił. To dziwne, ponieważ na wersji 3.0.3 i poprzednich maven test był uruchamiany bez żadnych błędów. Jakieś pomysły?
Mam podobną konfigurację, ale mam informacje o wersji na mojej konfiguracji surefire, która jest wymieniona w następujący sposób: $ {surefire.version} . nie jestem pewien, czy to mogłoby pomóc. możesz spróbować? –
Venki
czy masz wpis dla tego identyfikatora grupy w swoim pom? org.apache.maven.wagon –
Venki
Próbowałem dodać $ {surefire.version} , ale błąd wystąpił ponownie. Mam ten wpis: org.apache.maven.plugins . Zastąpiłem go twoją próbą: org.apache.maven.wagon i uruchom test pomyślnie. Dzięki za pomoc! Ale potrzebuję tego działa z org.apache.maven.plugins i jak napisałem powyżej, jest to interesujące: dlaczego działa na maven 3.0.3 i nie działa na maven 3.0.4. –
rdiachenko