Getting Started didn't get me started... :(

199 views
Skip to first unread message

Gus Heck

unread,
Jul 5, 2014, 11:13:54 AM7/5/14
to rio-...@googlegroups.com
I wanted to check out Rio, and so I downloaded M3 from the download pages, and the first thing I do with a download is confirm I can get it to run, so as per the getting started page set RIO_HOME and ran ./rio start all

I'm seeing a whole lot of documentation that references maven this and maven that... I'm begining to suspect that rio can't exist/run on a system without maven. Is maven part of a production deployment (I'm very new to rio, so pardon me if this is dumb question).

In any case when I tried to run rio I got the following:

guss-mbp:bin gus$ ./rio start all
INFO  10:05:00 check local repository for artifacts
When calling the install script with arguments, you must provide the location of Rio and Java home.
You may alternately call the install script with no arguments, and the environment will be checked
for the existence of JAVA_HOME and RIO_HOME

    install.groovy [java-home-location rio-home-location]

INFO  10:05:01 starter config [/Users/gus/projects/rio-5.0-M3/config/start-all.groovy]
objc[5832]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
Jul 05, 2014 10:05:05 AM com.sun.jini.reggie.RegistrarImpl init
INFO: started Reggie: 5138f89d-bb7f-446f-90cc-4d7ad0ba1bda, [gus], ConstrainableLookupLocator[[jini://192.168.2.115/], [null]]
INFO  10:05:05.959 o.r.monitor.ProvisionMonitorImpl -
____ _ ____
|__/ | |  |   Provision Monitor
|  \ | |__|   Version: 5.0-M3, Build: 20130606-0820

Rio Home: /Users/gus/projects/rio-5.0-M3
Java version: 1.7.0_60, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/jre
WARN  10:05:06.557 org.rioproject.url.artifact.Handler - Could not resolve Artifact{ groupId='org.rioproject.monitor, artifactId='monitor-proxy, version='5.0-M3, type='jar, classifier=' }
org.rioproject.resolver.ResolverException: Error locating org.rioproject.monitor:monitor-proxy:5.0-M3: Could not find artifact org.rioproject.monitor:monitor-proxy:jar:5.0-M3 in central (http://repo1.maven.org/maven2/)
    at org.rioproject.resolver.aether.AetherResolver.getLocation(AetherResolver.java:163) ~[na:na]
    at org.rioproject.url.artifact.Handler.openConnection(Handler.java:101) ~[rio-platform-5.0-M3.jar:5.0-M3]
    at java.net.URL.openConnection(URL.java:971) [na:1.7.0_60]
    at sun.rmi.server.LoaderHandler.getClassAnnotation(LoaderHandler.java:252) [na:1.7.0_60]
    at java.rmi.server.RMIClassLoader$2.getClassAnnotation(RMIClassLoader.java:657) [na:1.7.0_60]
    at org.rioproject.rmi.ResolvingLoader.getClassAnnotation(ResolvingLoader.java:112) [rio-platform-5.0-M3.jar:5.0-M3]
    at java.rmi.server.RMIClassLoader.getClassAnnotation(RMIClassLoader.java:381) [na:1.7.0_60]
    at sun.rmi.server.MarshalOutputStream.annotateClass(MarshalOutputStream.java:93) [na:1.7.0_60]
    at java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1289) [na:1.7.0_60]
    at java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1230) [na:1.7.0_60]
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1426) [na:1.7.0_60]
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) [na:1.7.0_60]
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) [na:1.7.0_60]
    at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source) [na:1.7.0_60]
    at org.rioproject.monitor.ProvisionMonitorImpl.createProxy(ProvisionMonitorImpl.java:261) [monitor-service-5.0-M3.jar:5.0-M3]
    at org.rioproject.jsb.ServiceBeanAdapter.getServiceProxy(ServiceBeanAdapter.java:613) [rio-lib-5.0-M3.jar:5.0-M3]
    at org.rioproject.resources.servicecore.ServiceProvider.register(ServiceProvider.java:157) [rio-lib-5.0-M3.jar:5.0-M3]
    at org.rioproject.jsb.ServiceBeanAdapter.initializeJMX(ServiceBeanAdapter.java:452) [rio-lib-5.0-M3.jar:5.0-M3]
    at org.rioproject.jsb.ServiceBeanAdapter.initialize(ServiceBeanAdapter.java:416) [rio-lib-5.0-M3.jar:5.0-M3]
    at org.rioproject.jsb.ServiceBeanAdapter.initialize(ServiceBeanAdapter.java:339) [rio-lib-5.0-M3.jar:5.0-M3]
    at org.rioproject.monitor.ProvisionMonitorImpl.initialize(ProvisionMonitorImpl.java:796) [monitor-service-5.0-M3.jar:5.0-M3]
    at org.rioproject.jsb.ServiceBeanAdapter.doStart(ServiceBeanAdapter.java:319) [rio-lib-5.0-M3.jar:5.0-M3]
    at org.rioproject.jsb.ServiceBeanAdapter.access$000(ServiceBeanAdapter.java:104) [rio-lib-5.0-M3.jar:5.0-M3]
    at org.rioproject.jsb.ServiceBeanAdapter$1.run(ServiceBeanAdapter.java:244) [rio-lib-5.0-M3.jar:5.0-M3]
    at org.rioproject.jsb.ServiceBeanAdapter.start(ServiceBeanAdapter.java:257) [rio-lib-5.0-M3.jar:5.0-M3]
    at org.rioproject.monitor.ProvisionMonitorImpl.bootstrap(ProvisionMonitorImpl.java:157) [monitor-service-5.0-M3.jar:5.0-M3]
    at org.rioproject.monitor.ProvisionMonitorImpl.<init>(ProvisionMonitorImpl.java:136) [monitor-service-5.0-M3.jar:5.0-M3]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.7.0_60]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [na:1.7.0_60]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [na:1.7.0_60]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [na:1.7.0_60]
    at org.rioproject.start.RioServiceDescriptor.create(RioServiceDescriptor.java:351) [rio-start-5.0-M3.jar:5.0-M3]
    at org.rioproject.start.ServiceStarter.create(ServiceStarter.java:227) [rio-start-5.0-M3.jar:5.0-M3]
    at org.rioproject.start.ServiceStarter.doStart(ServiceStarter.java:316) [rio-start-5.0-M3.jar:5.0-M3]
    at org.rioproject.start.ServiceStarter.main(ServiceStarter.java:408) [rio-start-5.0-M3.jar:5.0-M3]

The initial message is pretty odd since I wasn't running an installer (or so I thought). The stack trace is somewhat concerning too. It seems that rio is downloading maven artifacts without having asked me if that's ok... That doesn't seem very polite. I THOUGHT I was just running that which I downloaded from your site... Also, the first time I tried this my settings.xml was pointed at one of my customer's nexus repositories so I likely spammed them with a bunch of requests for things they don't have and don't relate to their project... and they are the sort of organization that takes the time to set up client side certificates... We'll see if they notice.

I hope Rio is something that can run without maven. If maven is baked in that's going to be a pretty big negative for me.

Dennis Reedy

unread,
Jul 5, 2014, 1:20:06 PM7/5/14
to rio-...@googlegroups.com
Hi Gus,

You are getting this error because JAVA_HOME is most likely not set (this has been changed in the latest version). Please set JAVA_HOME and try again. As for requiring Maven to be installed, don't worry you don't need Maven to be installed. Rio uses (and includes) Aether as a resolver of artifacts during deployment (and also for codebase resolution if the artifact is used as a service's codebase)
On Jul 5, 2014, at 1113AM, Gus Heck <gus....@gmail.com> wrote:

> I wanted to check out Rio, and so I downloaded M3 from the download pages, and the first thing I do with a download is confirm I can get it to run, so as per the getting started page set RIO_HOME and ran ./rio start all
>
> I'm seeing a whole lot of documentation that references maven this and maven that... I'm begining to suspect that rio can't exist/run on a system without maven. Is maven part of a production deployment (I'm very new to rio, so pardon me if this is dumb question).
>
>
> The initial message is pretty odd since I wasn't running an installer (or so I thought).

Rio installs artifacts used into your local Maven repository, specific to the Cybernode and Provision Monitor services. These services declare as artifact URLs as their codebase, and if the artifacts cannot be resolved locally, then the Aether resolver tries to resolve them using whatever you have configured.

> The stack trace is somewhat concerning too. It seems that rio is downloading maven artifacts without having asked me if that's ok...

Since your install failed, your repository got contacted.

> That doesn't seem very polite.

What do you expect, a dialog asking to resolve/download artifacts? If so that would certainly be interesting (and possible), although I think it would be cumbersome in real use.

All of the artifact resolution can be removed by starting Rio services up using http:// codebases. Codebase artifact resolution is only used when a service's codebase is annotated with the artifact: URL

HTH

Dennis

Zsolt Kúti

unread,
Jul 8, 2014, 2:42:37 AM7/8/14
to rio-...@googlegroups.com
On Sat, 5 Jul 2014 08:13:54 -0700
Gus Heck <gus....@gmail.com> wrote:


...
> I hope Rio is something that can run without maven. If maven is
> baked in

> that's going to be a pretty big negative for me.

Hello Gus,

I see your questions on the river list too where you mention you are
using gradle.

We have gradle based River/Rio project development here, so if you have
build related problems I am here to help if I can.

Zsolt





Reply all
Reply to author
Forward
0 new messages