Skip to content

Instantly share code, notes, and snippets.

@julianpeeters
Created October 29, 2014 04:16
Show Gist options
  • Save julianpeeters/210d54a211d3c10a767e to your computer and use it in GitHub Desktop.
Save julianpeeters/210d54a211d3c10a767e to your computer and use it in GitHub Desktop.
error: custom classloader succeeds with run, fails with test after upgrading from sbt 0.12.2 to sbt 0.13.7-M4
> test
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.julianpeeters.caseclass.generator.DynamicClassLoader.loadClass(DynamicClassLoader.java:19)
at com.julianpeeters.caseclass.generator.DynamicCaseClass.<init>(DynamicCaseClass.scala:24)
at IntIntSpec.<init>(IntIntSpec.scala:17)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.specs2.reflect.Classes$class.createInstanceFor(Classes.scala:157)
at org.specs2.reflect.Classes$.createInstanceFor(Classes.scala:213)
at org.specs2.reflect.Classes$$anonfun$createInstanceOfEither$1.apply(Classes.scala:147)
at org.specs2.reflect.Classes$$anonfun$createInstanceOfEither$1.apply(Classes.scala:147)
at scala.Option.map(Option.scala:145)
at org.specs2.reflect.Classes$class.createInstanceOfEither(Classes.scala:147)
at org.specs2.reflect.Classes$.createInstanceOfEither(Classes.scala:213)
at org.specs2.reflect.Classes$class.org$specs2$reflect$Classes$$createInstanceForConstructor(Classes.scala:120)
at org.specs2.reflect.Classes$$anonfun$5.apply(Classes.scala:98)
at org.specs2.reflect.Classes$$anonfun$5.apply(Classes.scala:98)
at scala.collection.GenSeqViewLike$Mapped$class.apply(GenSeqViewLike.scala:48)
at scala.collection.SeqViewLike$$anon$3.apply(SeqViewLike.scala:78)
at scala.collection.GenSeqViewLike$Filtered$class.index(GenSeqViewLike.scala:83)
at scala.collection.SeqViewLike$$anon$5.index$lzycompute(SeqViewLike.scala:80)
at scala.collection.SeqViewLike$$anon$5.index(SeqViewLike.scala:80)
at scala.collection.GenSeqViewLike$Filtered$class.apply(GenSeqViewLike.scala:91)
at scala.collection.SeqViewLike$$anon$5.apply(SeqViewLike.scala:80)
at scala.collection.GenSeqViewLike$Mapped$class.apply(GenSeqViewLike.scala:48)
at scala.collection.SeqViewLike$$anon$3.apply(SeqViewLike.scala:78)
at org.specs2.reflect.Classes$class.tryToCreateObjectEither(Classes.scala:103)
at org.specs2.reflect.Classes$.tryToCreateObjectEither(Classes.scala:213)
at org.specs2.reflect.Classes$class.tryToCreateObject(Classes.scala:70)
at org.specs2.reflect.Classes$.tryToCreateObject(Classes.scala:213)
at org.specs2.specification.SpecificationStructure$.createSpecificationFromClassOrObject(BaseSpecification.scala:126)
at org.specs2.specification.SpecificationStructure$.createSpecificationEither(BaseSpecification.scala:117)
at org.specs2.runner.SbtRunner.org$specs2$runner$SbtRunner$$specificationRun(SbtRunner.scala:70)
at org.specs2.runner.SbtRunner$$anonfun$newTask$1$$anon$5.execute(SbtRunner.scala:57)
at sbt.TestRunner.runTest$1(TestFramework.scala:76)
at sbt.TestRunner.run(TestFramework.scala:85)
at sbt.TestFramework$$anon$2$$anonfun$$init$$1$$anonfun$apply$8.apply(TestFramework.scala:202)
at sbt.TestFramework$$anon$2$$anonfun$$init$$1$$anonfun$apply$8.apply(TestFramework.scala:202)
at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:185)
at sbt.TestFramework$$anon$2$$anonfun$$init$$1.apply(TestFramework.scala:202)
at sbt.TestFramework$$anon$2$$anonfun$$init$$1.apply(TestFramework.scala:202)
at sbt.TestFunction.apply(TestFramework.scala:207)
at sbt.Tests$$anonfun$9.apply(Tests.scala:216)
at sbt.Tests$$anonfun$9.apply(Tests.scala:216)
at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:44)
at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:44)
at sbt.std.Transform$$anon$4.work(System.scala:63)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.Execute.work(Execute.scala:235)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.LinkageError: loader (instance of sbt/classpath/ClasspathFilter): attempted duplicate class definition for name: "models/MyRecord_IntIntSpec"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:788)
at java.lang.ClassLoader.defineClass(ClassLoader.java:631)
... 67 more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment