maven

2016-03-25 58 views
0

testlerini çalıştırırken Geb istisnası Testlerimi maven ile komut satırından çalıştırdığımda bu istisnayı anlarım. Yetkim: benim yerel makinedemaven

mvn -Dtest=specs.full.* -Dtestsystem=Win7/IE test 

, her şey gayet iyi çalışıyor. Ben Jenkins yüklü sunucumuzdaki, üzerinde testler çalıştırdığınızda Ama şu olsun istisna:

java.lang.VerifyError: (class: specs/full/ReadCheckMenuLinks, method: super$8$$spock_feature_3_1 signature:()V) Illegal use of nonvirtual function call 
at java.lang.Class.getDeclaredMethods0(Native Method) 
at java.lang.Class.privateGetDeclaredMethods(Class.java:2625) 
at java.lang.Class.getMethod0(Class.java:2866) 
at java.lang.Class.getMethod(Class.java:1676) 
at org.apache.maven.surefire.util.ReflectionUtils.tryGetMethod(ReflectionUtils.java:57) 
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isSuiteOnly(JUnit3TestChecker.java:64) 
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isValidJUnit3Test(JUnit3TestChecker.java:59) 
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.accept(JUnit3TestChecker.java:54) 
at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:52) 
at org.apache.maven.surefire.util.DefaultScanResult.applyFilter(DefaultScanResult.java:97) 
at org.apache.maven.surefire.junit4.JUnit4Provider.scanClassPath(JUnit4Provider.java:222) 
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:107) 
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203) 
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155) 
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) 

tuhaf bir şeydir, testler sunucuda çalıştığı, ama şimdi her deney I Bu durum almak koşmak.

Burada sorun ne olabilir?

cevap

1

Büyük olasılıkla CI sunucunuzda kullandığınız jvm sürümüne inecektir. Groovy'yi Java 8'in belirli sürümleriyle kullanırken benzer hatalar gördüm. Jvm'in yerel sürümünüzün ne olduğuna bir göz atın ve Jenkins tarafından kullanılanın aynı olmasını sağlayın.

+0

Haklısınız, yanlış jdk sürümü ve bu seçeneğe ihtiyacım vardı: export _JAVA_OPTIONS = '- Xverify: none' – Peter