Ho un semplice test per il plugin Maven:I test per Maven plugin sono incompatibili con Maven 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();
}
}
con tale maven-surefire-plugin configurazione:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>never</forkMode>
</configuration>
</plugin>
</plugins>
</build>
Fino Maven 3.0.4 è stato rilasciato , il mio SimpleMavenTest funziona con successo. Ma quando ho eseguito il test utilizzando Maven 3.0.4, è stato verificato l'errore seguente:
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)
ho guardato qui: http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html e ha cercato di cambiare Maven-infallibile-plug di configurazione in modo tale:
<configuration>
<forkMode>once</forkMode>
</configuration>
Tutto funziona correttamente. Ma se faccio:
<forkMode>never</forkMode>
si è verificato l'errore precedente. È strano, perché su Maven 3.0.3 e precedenti versioni di Maven il test è stato eseguito senza errori. Qualche idea?
Ho la configurazione simile ma ho le informazioni sulla versione sulla mia configurazione di surefire che è elencata come questa $ {surefire.version} . non sono sicuro che potrebbe essere d'aiuto puoi provarlo? –
Venki
hai una voce per questo ID di gruppo nel tuo pom? org.apache.maven.wagon –
Venki
Ho provato ad aggiungere $ {surefire.version} , ma l'errore si è verificato di nuovo. Ho questa voce: org.apache.maven.plugins . Ho sostituito con la tua prova: org.apache.maven.wagon e prova di funzionamento succesfylly. Grazie per l'aiuto! Ma ho bisogno funziona con org.apache.maven.plugins e come ho scritto sopra, è interessante: perché funziona su Maven 3.0.3 e non funziona su Maven 3.0.4. –
rdiachenko