googlecloudpubsub:java.lang.IllegalStateException: Could not find TLS ALPN provider; no working netty-tcnative, Conscrypt, or Jetty NPN/ALPN available - scala

I am facing this issue when trying to run a google cloud subscriber within a scala sbt project on local windows environment. The versions used are as follows:
java : 1.8.0_171"
scala : 2.11.8
below are the versions of sbt library dependencies:
"com.google.cloud" % "google-cloud-pubsub" % "1.108.1",
"com.google.cloud" % "google-cloud-shared-dependencies" % "0.8.6" pomOnly(),
"com.google.api.grpc" % "grpc-google-cloud-pubsub-v1" % "1.90.1",
"io.grpc" % "grpc-all" % "1.30.2"
The deployment is done by running a fat JAR in nohup build using sbt assembly plugin.
This is the error log which I am getting:
Caused by: java.lang.IllegalStateException: Expected the service InnerService [FAILED] to be RUNNING, but the service has FAILED
at com.google.common.util.concurrent.AbstractService.checkCurrentState(AbstractService.java:366)
at com.google.common.util.concurrent.AbstractService.awaitRunning(AbstractService.java:302)
at com.google.api.core.AbstractApiService.awaitRunning(AbstractApiService.java:96)
at services.externalservices.pubsub.GoogleCloudSubscriber$class.subscribeAsyncExample(GoogleCloudSubscriber.scala:89)
at services.externalservices.pubsub.GoogleCloudSubscriber$class.initialise(GoogleCloudSubscriber.scala:37)
at services.externalservices.pubsub.GoogleCloudSubscriberImpl.initialise(GoogleCloudSubscriber.scala:95)
at services.externalservices.pubsub.GoogleCloudSubscriber$class.$init$(GoogleCloudSubscriber.scala:27)
at services.externalservices.pubsub.GoogleCloudSubscriberImpl.<init>(GoogleCloudSubscriber.scala:95)
at services.externalservices.pubsub.GoogleCloudSubscriberImpl$$FastClassByGuice$$a4a053ae.newInstance(<generated>)
at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
at com.google.inject.internal.ConstructorBindingImpl$Factory .get(ConstructorBindingImpl.java:268)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205)
at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085)
at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180)
... 9 more
Caused by: java.lang.IllegalStateException: Could not find TLS ALPN provider; no working netty-tcnative, Conscrypt, or Jetty NPN/ALPN available
at io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts.defaultSslProvider(GrpcSslContexts.java:233)
at io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:144)
at io.grpc.netty.shaded.io.grpc.netty.GrpcSslContexts.forClient(GrpcSslContexts.java:93)
at io.grpc.netty.shaded.io.grpc.netty.NettyChannelBuilder.buildTransportFactory(NettyChannelBuilder.java:414)
at io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractManagedChannelImplBuilder.java:513)
at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.createSingleChannel(InstantiatingGrpcChannelProvider.java:314)
at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.access$1600(InstantiatingGrpcChannelProvider.java:71)
at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider$1.createSingleChannel(InstantiatingGrpcChannelProvider.java:210)
at com.google.api.gax.grpc.ChannelPool.create(ChannelPool.java:72)
at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.createChannel(InstantiatingGrpcChannelProvider.java:217)
at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.getTransportChannel(InstantiatingGrpcChannelProvider.java:200)
at com.google.api.gax.rpc.ClientContext.create(ClientContext.java:156)
at com.google.cloud.pubsub.v1.stub.GrpcSubscriberStub.create(GrpcSubscriberStub.java:272)
at com.google.cloud.pubsub.v1.Subscriber.doStart(Subscriber.java:273)
at com.google.api.core.AbstractApiService$InnerService.doStart(AbstractApiService.java:148)
at com.google.common.util.concurrent.AbstractService.startAsync(AbstractService.java:248)
at com.google.api.core.AbstractApiService.startAsync(AbstractApiService.java:120)
at com.google.cloud.pubsub.v1.Subscriber.startAsync(Subscriber.java:265)
However, the same subscriber works as expected when running the application in foreground using sbt run command.

Related

Lagom and Kamon: Classloading errors

We are using Kamon to instrument all of our microservices, some of them use Lagom and other use akka-http.
Our Lagom microservices are using sbt-native-packager to create a zip file that, once unzipped, will run in our server.
Whereas the akka-http ones are using sbt-pack.
We suspect that sbt-native-packager introduces some classloader magic.
The JVM is running with the aspectj-weaver agent correctly loaded,
setting JAVA_OPTS with -javaagent:/path/to/aspectjweaver-1.9.1.jar
We use scala 2.11.12
but in all of our Lagom microservices we get the following error
Exception in thread "main" java.lang.NoSuchMethodError: kamon.scala.instrumentation.FutureInstrumentation.aspectOf()Lkamon/scala/instrumentation/FutureInstrumentation;
at scala.concurrent.impl.CallbackRunnable.<init>(Promise.scala:32)
at scala.concurrent.impl.Promise$DefaultPromise.onComplete(Promise.scala:273)
at akka.actor.ActorSystemImpl$TerminationCallbacks.<init>(ActorSystem.scala:1008)
at akka.actor.ActorSystemImpl.<init>(ActorSystem.scala:800)
at akka.actor.ActorSystem$.apply(ActorSystem.scala:246)
at com.lightbend.lagom.scaladsl.server.ActorSystemProvider$.start(LagomApplicationLoader.scala:268)
at com.lightbend.lagom.scaladsl.server.LagomApplication.actorSystem$lzycompute(LagomApplicationLoader.scala:239)
at com.lightbend.lagom.scaladsl.server.LagomApplication.actorSystem(LagomApplicationLoader.scala:238)
at play.api.BuiltInComponents$class.materializer(Application.scala:327)
at play.api.BuiltInComponentsFromContext.materializer$lzycompute(ApplicationLoader.scala:122)
at play.api.BuiltInComponentsFromContext.materializer(ApplicationLoader.scala:122)
at com.lightbend.lagom.scaladsl.server.LagomServerComponents$class.lagomServerBuilder(LagomServer.scala:84)
at com.lightbend.lagom.scaladsl.server.LagomApplication.lagomServerBuilder$lzycompute(LagomApplicationLoader.scala:222)
at com.lightbend.lagom.scaladsl.server.LagomApplication.lagomServerBuilder(LagomApplicationLoader.scala:222)
at com.lightbend.lagom.scaladsl.server.LagomApplication.<init>(LagomApplicationLoader.scala:244)
at com.lightbend.lagom.scaladsl.server.LagomApplicationLoader.load(LagomApplicationLoader.scala:78)
at play.core.server.ProdServerStart$.start(ProdServerStart.scala:51)
at play.core.server.ProdServerStart$.main(ProdServerStart.scala:25)
at play.core.server.ProdServerStart.main(ProdServerStart.scala)
And this is another slightly different stacktrace
java.lang.NoSuchMethodError: kamon.logback.instrumentation.AsyncAppenderInstrumentation.aspectOf()Lkamon/logback/instrumentation/AsyncAppenderInstrumentation;
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:47)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
at ch.qos.logback.classic.Logger.info(Logger.java:579)
at akka.event.slf4j.Slf4jLogger$$anonfun$receive$1.applyOrElse(Slf4jLogger.scala:92)
at akka.actor.Actor$class.aroundReceive(Actor.scala:517)
at akka.event.slf4j.Slf4jLogger.aroundReceive(Slf4jLogger.scala:54)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:590)
at akka.actor.ActorCell.invoke(ActorCell.scala:559)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
at akka.dispatch.Mailbox.run(Mailbox.scala:224)
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Does anyone know why?
This is a project to show you the problem
https://github.com/ricsirigu/lagom-with-kamon

playframework 2.4 basic ebean configuration

I am trying to convert a play project from 2.3 to 2.4, and managed to get it to compile following the migration guide.
However I'm not sure how to get a basic working mysql database connection.
At run time it gives me pages of stack traces like the output pasted below.
build.sbt
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
...
"org.the" % "model-dal" % "1.2.3-SNAPSHOT",
The application.conf
play.evolutions.enabled=false
ebean.thedb=["models.theapp.*"]
Created a ebean.properties file:
datasource.thedb.username=user
datasource.thedb.password=password
datasource.thedb.databaseUrl=jdbc:mysql://127.0.0.1:3306/thedb
datasource.thedb.databaseDriver=com.mysql.jdbc.Driver
plugins.sbt entries
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "2.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-enhancer" % "1.1.0")
Stack trace
! #6o56g5bnj - Internal server error, for (GET) [/] ->
play.api.UnexpectedException: Unexpected exception[CreationException: Unable to create injector, see the following errors:
1) Error in custom provider, Configuration error: Configuration error[null]
while locating play.db.ebean.DefaultEbeanConfig$EbeanConfigParser
at play.db.ebean.EbeanModule.bindings(EbeanModule.java:24):
Binding(interface play.db.ebean.EbeanConfig to ProviderConstructionTarget(class play.db.ebean.DefaultEbeanConfig$EbeanConfigParser) eagerly) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)
while locating play.db.ebean.EbeanConfig
for parameter 0 at play.db.ebean.EbeanDynamicEvolutions.<init>(EbeanDynamicEvolutions.java:36)
at play.db.ebean.EbeanDynamicEvolutions.class(EbeanDynamicEvolutions.java:33)
while locating play.db.ebean.EbeanDynamicEvolutions
at play.db.ebean.EbeanModule.bindings(EbeanModule.java:23):
Binding(class play.api.db.evolutions.DynamicEvolutions to ConstructionTarget(class play.db.ebean.EbeanDynamicEvolutions) eagerly) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)
while locating play.api.db.evolutions.DynamicEvolutions
while locating play.api.db.evolutions.ApplicationEvolutionsProvider
at play.api.db.evolutions.EvolutionsModule.bindings(EvolutionsModule.scala:22):
Binding(class play.api.db.evolutions.ApplicationEvolutions to ProviderConstructionTarget(class play.api.db.evolutions.ApplicationEvolutionsProvider) eagerly) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)
while locating play.api.db.evolutions.ApplicationEvolutions
Caused by: Configuration error: Configuration error[null]
at play.api.Configuration$.configError(Configuration.scala:178)
at play.api.Configuration.reportError(Configuration.scala:829)
at play.Configuration.reportError(Configuration.java:351)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.parse(DefaultEbeanConfig.java:81)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.get(DefaultEbeanConfig.java:60)
at play.db.ebean.DefaultEbeanConfig$EbeanConfigParser.get(DefaultEbeanConfig.java:44)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
(1)
Disabling evolutions is required in the application.conf or the exception above appears.
play.evolutions.enabled=false
(2)
The database configuration is needed in the play db. properties in the application.conf file, the ebean.properties file is not required.
application.conf
db.thedb.username=user
db.thedb.password=password
db.thedb.databaseUrl=jdbc:mysql://127.0.0.1/thedb
db.thedb.databaseDriver=com.mysql.jdbc.Driver

Unable to start a spring boot web application with spring batch admin

I am trying to run a web application with embedded tomcat including a number of spring batch jobs and the spring batch admin. However when I try to run the generated fat jar I get the following error, can anybody from spring batch or boot team help:
Error registering Tomcat:j2eeType=WebModule,name=//localhost/*,J2EEApplication=none,J2EEServer=none
Adding more information:
Version of spring boot: 1.1.9.RELEASE from spring.io parent pom version 1.0.3.RELEASE
I tried running it from STS as well as using mvn spring-boot:run with the same effect.
The batch jobs read from a file and write to hornetq.
The complete stack trace is as follows:
2014-11-14 14:22:45.236 ERROR 404 --- [ost-startStop-1] org.apache.tomcat.util.modeler.Registry : Error registering Tomcat:j2eeType=WebModule,name=//localhost/*,J2EEApplication=none,J2EEServer=none`
javax.management.RuntimeOperationsException: null
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:411)`
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)`
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
at org.apache.tomcat.util.modeler.Registry.registerComponent(Registry.java:742)
at org.apache.catalina.util.LifecycleMBeanBase.register(LifecycleMBeanBase.java:158)
at org.apache.catalina.util.LifecycleMBeanBase.initInternal(LifecycleMBeanBase.java:61)
at org.apache.catalina.core.ContainerBase.initInternal(ContainerBase.java:1084)
at org.apache.catalina.core.StandardContext.initInternal(StandardContext.java:6506)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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:745)
Caused by: java.lang.IllegalArgumentException: Repository: cannot add mbean for pattern name Tomcat:j2eeType=WebModule,name=//localhost/*,J2EEApplication=none,J2EEServer=none
... 19 common frames omitted
I assume the name is not a valid object name: //localhost/*
Could you try with a different name, or either escape or quote the name. This should fix the problem.

sorm h2 DB for play framework scala - NoSuchMethodError

I'm encountering this error when I followed play-scala template tutorial:
[error] play - Cannot invoke the action, eventually got an error: java.lang.RuntimeException: java.lang.NoSuchMethodError: scala.reflect.api.Types$TypeApi.members()Lscala/reflect/api/Scopes$ScopeApi;
[error] application -
! #6jmiof8bp - Internal server error, for (POST) [/provision] ->
play.api.Application$$anon$1: Execution exception[[RuntimeException: java.lang.NoSuchMethodError: scala.reflect.api.Types$TypeApi.members()Lscala/reflect/api/Scopes$ScopeApi;]]
at play.api.Application$class.handleError(Application.scala:296) ~[play_2.11-2.3.4.jar:2.3.4]
at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.4.jar:2.3.4]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.4.jar:2.3.4]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.4.jar:2.3.4]
at scala.Option.map(Option.scala:145) [scala-library-2.11.1.jar:na]
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodError: scala.reflect.api.Types$TypeApi.members()Lscala/reflect/api/Scopes$ScopeApi;
at play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:523) ~[play_2.11-2.3.4.jar:2.3.4]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) ~[play_2.11-2.3.4.jar:2.3.4]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) ~[play_2.11-2.3.4.jar:2.3.4]
at play.utils.Threads$.withContextClassLoader(Threads.scala:21) ~[play_2.11-2.3.4.jar:2.3.4]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:129) ~[play_2.11-2.3.4.jar:2.3.4]
Caused by: java.lang.NoSuchMethodError: scala.reflect.api.Types$TypeApi.members()Lscala/reflect/api/Scopes$ScopeApi;
at sorm.reflection.ScalaApi$TypeApi.members(ScalaApi.scala:11) ~[sorm-0.3.13.jar:na]
at sorm.reflection.ScalaApi$TypeApi.properties(ScalaApi.scala:13) ~[sorm-0.3.13.jar:na]
at sorm.reflection.Reflection.properties(Reflection.scala:31) ~[sorm-0.3.13.jar:na]
at sorm.core.Initialization$.sorm$core$Initialization$$checkType$1(Initialization.scala:75) ~[sorm-0.3.13.jar:na]
at sorm.core.Initialization$.recursiveEntities$1(Initialization.scala:79) ~[sorm-0.3.13.jar:na]
I encounter this error when I added this line DB.save(person) on my provision method Application.scala
My DB Object looks like this:
object MemDB extends Instance(entities = Seq(Entity[Person]()), url ="jdbc:h2:mem:play") {}
I also removed the comments on my application.conf file
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
I can't figure out how to fix this error. I just followed the video tutorial in the playframework websito for play framework and scala. I also tried changing the url to jdbc:h2:mem:test just like what the tutorial suggest. I am using the following versions
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.4")
libraryDependencies += "org.sorm-framework" % "sorm" % "0.3.13"
libraryDependencies += "com.h2database" % "h2" % "1.4.181"
scalaVersion := "2.11.1"
SORM is only compatible with the version 2.1 of Play at the time. Your problems must be caused by this.
Here's a related ticket.

Problem install lift framework on Fedora

I'm trying to start the lift_basic project from the latest version of lift (2.4-M1).
I'm following the docs - untarred the tarball, then changed into scala_29/lift_basic and ran ./sbt update but it fails with:
Getting Scala 2.7.7 ...
:: retrieving :: org.scala-tools.sbt#boot-scala
confs: [default]
2 artifacts copied, 0 already retrieved (9911kB/112ms)
Getting org.scala-tools.sbt sbt_2.7.7 0.7.5 ...
:: retrieving :: org.scala-tools.sbt#boot-app
confs: [default]
16 artifacts copied, 0 already retrieved (4271kB/107ms)
[info] Recompiling project definition...
[info] Source analysis: 1 new/modified, 0 indirectly invalidated, 0 removed.
sbt.UndefinedValue: Value for property '<unnamed>' from /var/www/html/projects/lift/lift-lift_24_sbt-14a1743/scala_29/lift_basic/project/build.properties is undefined.
at sbt.BasicEnvironment$UserProperty.sbt$BasicEnvironment$UserProperty$$inheritedValue(Environment.scala:155)
at sbt.BasicEnvironment$UserProperty$$anonfun$resolveDefaultFirst$1.apply(Environment.scala:135)
at sbt.BasicEnvironment$UserProperty$$anonfun$resolveDefaultFirst$1.apply(Environment.scala:135)
at sbt.BasicEnvironment$UserProperty.sbt$BasicEnvironment$UserProperty$$getDefault(Environment.scala:143)
at sbt.BasicEnvironment$UserProperty.resolveDefaultFirst(Environment.scala:135)
at sbt.BasicEnvironment$UserProperty.resolve(Environment.scala:120)
at sbt.Environment$Property.value(Environment.scala:16)
at LiftProject.<init>(LiftProject.scala:4)
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:532)
at sbt.Project$.constructProject(Project.scala:391)
at sbt.Project$$anonfun$9.apply(Project.scala:365)
at sbt.Project$$anonfun$9.apply(Project.scala:364)
at scala.Either$RightProjection.map(Either.scala:239)
at sbt.Project$.loadProject(Project.scala:364)
at sbt.Project$.loadProject(Project.scala:355)
at sbt.Project$.loadProject(Project.scala:343)
at sbt.Project$.loadProject(Project.scala:340)
at sbt.xMain.run(Main.scala:47)
at sbt.xMain.run0$1(Main.scala:35)
at sbt.xMain.run(Main.scala:42)
at xsbt.boot.Launch$.run(Launch.scala:53)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:42)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:42)
at xsbt.boot.Launch$.launch(Launch.scala:57)
at xsbt.boot.Launch$.explicit(Launch.scala:42)
at xsbt.boot.Launch$.initialized(Launch.scala:38)
at xsbt.boot.Launch$.parsed(Launch.scala:31)
at xsbt.boot.Launch$.configured(Launch.scala:21)
at xsbt.boot.Launch$.apply(Launch.scala:16)
at xsbt.boot.Launch$.apply(Launch.scala:13)
at xsbt.boot.Boot$.runImpl(Boot.scala:24)
at xsbt.boot.Boot$.run(Boot.scala:19)
at xsbt.boot.Boot$.main(Boot.scala:15)
at xsbt.boot.Boot.main(Boot.scala)
Error loading project: sbt.UndefinedValue: Value for property '<unnamed>' from /var/www/html/projects/lift/lift-lift_24_sbt-14a1743/scala_29/lift_basic/project/build.properties is undefined.
Does anyone know where I'm going wrong?
Thanks
I just tried this out myself (on Ubuntu 10.04) and I'm getting the exact same error. It's attempting to get a build configuration property and for some reason failing. I don't know enough about the SBT internals to offer a full solution, but I can show you how to get around it for now.
Simply open up the project/build/LiftProject.scala and on line 4, change
val liftVersion = property[Version].value.toString
to
val liftVersion = "2.4-M3" //use the value in project/build.properties for lift.version
After I did this, SBT was able to update and the example project compiled and ran without error.