我正在尝试关注the official Tapestry tutorial
以下步骤很好:
但是一旦我从Eclipse运行配置,我就会收到一个错误,其日志为here。 (相关部分,据我说:
ioc.Registry Error building service proxy for service 'RegistryStartup'
)
另外,请注意我的问题与this post中的问题不同:事实上,我已经设法在Eclipse中设置了Jetty 6。
我的操作系统是Ubuntu 13.10 64位。
在ubuntu上我已经安装了Maven 3.1.1
我正在使用Eclipse Kepler Service Release 2
我安装了jetty插件(RunJettyRun)1.3.2(Jetty 6)。
此外,在Eclipse中我设置了补丁以使用java8运行时。
答案 0 :(得分:2)
JVM参数似乎不是导致此问题的原因。
jdk8 compatibility guide确实列出了您可能必须设置为在Java 7中运行大型应用程序的已删除选项。尽管如此,这些小型示例应用程序仍可正常运行而不使用此设置。在Java 8中,不再需要设置这些选项:
命令行标记
PermSize
和MaxPermSize
已被删除并被忽略。
完整堆栈跟踪表明 plastic 库中的字符码操作不兼容。引发根异常是因为库ClassReader
包含此检查,并且它似乎并不关心应用程序编译的版本:
// checks the class version
if (readShort(6) > Opcodes.V1_7) {
throw new IllegalArgumentException();
}
答案 1 :(得分:1)
问题在于tapestry框架需要特殊的java虚拟机设置,从Java8开始会被忽略。
因此,我从构建路径中删除了java 8,并改为设置java 7.