Tapestry 5.3 tutorial and Eclipse Kepler : RegistryStartup service can't be loaded
Asked Answered
G

2

6

I am trying to follow the official Tapestry tutorial

Following steps were fine :

  • launching mvn jetty:run (from command line)
  • launching mvn eclipse:eclipse -DdownloadSources=true
  • importing the project inside Eclipse
  • configuring a new Jetty configuration from the imported project inside Eclipse

But as soon as I run the configuration from Eclipse, I get an error, whose log is here. (relevant part, according to me :

ioc.Registry Error building service proxy for service 'RegistryStartup'

)

Also, please notice that my issue is different from the one in this post : indeed, I've managed to set up Jetty 6 in Eclipse.

My OS is Ubuntu 13.10 64 bits.

On ubuntu i've installed Maven 3.1.1

I am using Eclipse Kepler Service Release 2

I installed the jetty plugin (RunJettyRun) 1.3.2 (Jetty 6).

Also, in Eclipse I set up the patch in order to use java8 runtime.

Gretna answered 4/4, 2014 at 19:21 Comment(0)
S
2

JVM arguments don't seem to be the cause for this issue.

The jdk8 compatibility guide does indeed list removed options that you may had to set to run large applications in Java 7. Those small example applications still run fine without using this setting in Java 7 though. In Java 8 there is no more need to set those options:

The command line flags PermSize and MaxPermSize have been removed and are ignored.

The full stack trace indicates an incompatibility in the plastic library for bytecode manipulation. The root exception is thrown because the library's ClassReader includes this check and it doesn't seem to care in which version the application has been compiled:

// checks the class version
if (readShort(6) > Opcodes.V1_7) {
    throw new IllegalArgumentException();
}
Snack answered 17/9, 2014 at 15:8 Comment(0)
G
1

The problem was that the tapestry framework needs special java virtual machine settings, which are ignored starting from Java8.

So, I removed java 8 from the build path, and set up java 7 instead.

Gretna answered 4/4, 2014 at 21:58 Comment(12)
Sir, can you elaborate more on the specifics of the problem? Which jvm settings are necessary for this to work?Krum
Sorry but it is quite a moment ago I faced the problem, since I gave up tapestry and also gone for Eclipse Luna. But you should find these settings on tapestry official documentation : jumpstart.doublenegative.com.au/jumpstart6.10/tips.htmlGretna
I've also moved on to Luna, but I'm still commited to Tapestry. I still don't see the connection to those VM arguments. Can you tell why you think so? Because this would be a very minor thing to fix, but I assume that there is a much bigger mess behind the problem. For now I think I'll have to go back to Java 7...Krum
In fact, I saw in an Oracle Documenation, that some JVM settings were deprecated in Java 8. I can't remember where I saw that, but that's why I switched back to Java 7.Gretna
Maybe you saw it in the Compatibility Guide for JDK 8? I couldnt find many changes to the JVM options that I could make sense of regarding this issue. Plus, my eyes literally hurt reading Oracle docs :-/Krum
It was not this one. If I find it again, I put the link here. But same for me, Oracle docs are very difficult to read without headeache. Have a look at docs.oracle.com/javase/8/docs/technotes/tools/unix/…Gretna
Thanks for the link. Btw, in case you re interested: I have the same problem using the gradle jetty plugin as well as starting a leiningen server with tapestry.ioc-registry dependency used with java 8.Krum
You're welcome. Meanwhile, I am still an absolute beginner for gradle or Leineingen.Gretna
I totally recommend gradle for JVM-based projects.Krum
Let us continue this discussion in chat.Gretna
@archiehicox I think I found those removed vm options (and the real cause of the problem). See my answerSnack
@kapep: Very intriguing.. I will look into it. Thanks for sharing.Krum

© 2022 - 2024 — McMap. All rights reserved.