2010-12-09 93 views
4

我试图在使用jruby和glassfish宝石的Windows服务器上运行rails 3应用程序。我可以使用“rails s”运行应用程序。这里是我的万阿英,蒋达清:玻璃鱼宝石无法在窗口上启动

C:\ web应用程序\ MCS>的JRuby -S GlassFish的

在启动GlassFish服务器:在开发环境0.0.0.0:3000 ... 写日志消息:C:/ Web应用程序/ MCS /日志/ development.log。 按下Ctrl + C停止。

java/util/ServiceLoader.java:207:in `fail': java.util.ServiceConfigurationError: com.sun.enterprise.module.bootstrap.Pla 
tformMain: Provider com.sun.enterprise.glassfish.bootstrap.ASEmbedded could not be instantiated: java.lang.IllegalArgume 
ntException: URI is not hierarchical (NativeException) 
     from java/util/ServiceLoader.java:164:in `access$100' 
     from java/util/ServiceLoader.java:353:in `next' 
     from java/util/ServiceLoader.java:421:in `next' 
     from org/glassfish/api/embedded/Server.java:644:in `getMain' 
     from org/glassfish/api/embedded/Server.java:263:in `<init>' 
     from org/glassfish/api/embedded/Server.java:61:in `<init>' 
     from org/glassfish/api/embedded/Server.java:158:in `build' 
     from org/glassfish/api/embedded/Server.java:140:in `build' 
     from org/glassfish/scripting/gem/GlassFishMain.java:122:in `startGlassFishEmbedded' 
     from org/glassfish/scripting/gem/GlassFishMain.java:298:in `start' 
     from c:/jruby-1.5.6/lib/ruby/gems/1.8/gems/glassfish-1.0.2-universal-java/lib/server.rb:146:in `start' 
     from c:/jruby-1.5.6/lib/ruby/gems/1.8/gems/glassfish-1.0.2-universal-java/lib/server.rb:146:in `start' 
     from C:/jruby-1.5.6/lib/ruby/gems/1.8/gems/glassfish-1.0.2-universal-java/bin/glassfish:55 
     from C:/jruby-1.5.6/lib/ruby/gems/1.8/gems/glassfish-1.0.2-universal-java/bin/glassfish:19:in `load' 
     from c:/jruby-1.5.6/bin/glassfish:19 

我确定这是一个简单的环境设置的东西,有什么建议吗?非常感激。

+0

您可能会在这里得到一些帮助http://www.java.net/forum/topic/glassfish/glassfish/glassfish-embedded-web-start-so-close-0 – Preston 2010-12-09 16:16:52

+0

是的,在那里,但没有真正得到它的任何地方 - 没有提供解决方案。我还问过宝石出版商同样的问题,希望他会去“噢,你必须......”! – jjnevis 2010-12-09 16:30:29

回答

0

我通过简单地退出到jruby-1.5.5来得到这个工作。我打算写一篇关于如何让这一切都运行起来的博客文章,因为这有点噩梦,但它现在看起来似乎一直在一起。我的设置是:

的Windows Server 2003 R2,导轨3.0.3,1.5.5的JRuby,GlassFish的宝石1.0.2

注:我觉得这个补丁解决了JRuby的1.5.6,但还不是问题在编译的发行版,所以我决定退出: https://github.com/jruby/jruby/commit/621bce3056f71cc9cd0e1b8aa59cecae1fc15e45

2

我打算谈谈1.0.3.beta.1代码。如前所述,错误是相似的,但我怀疑它们是同一问题的不同表现。

Glassfish宝石依靠akuma库(http://java.net/projects/akuma/)进入背景。如果此次尝试使用JRuby加载它,你会得到这样的错误消息:

NameError: cannot link Java class com.sun.akuma.CLibrary, probable missing dependency: Unable to load library 'c': The specified module could not be found. 

    from org/jruby/javasupport/JavaClass.java:1054:in `for_name' 
    from org/jruby/javasupport/JavaUtilities.java:34:in `get_proxy_class' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/site_ruby/shared/builtin/javasupport/core_ext/object.rb:46:in `java_import' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/gems/1.8/gems/glassfish-1.0.3.beta.1-universal-java/lib/server.rb:56:in `(class Server)' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/gems/1.8/gems/glassfish-1.0.3.beta.1-universal-java/lib/server.rb:53:in `(class GlassFish)' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/gems/1.8/gems/glassfish-1.0.3.beta.1-universal-java/lib/server.rb:52:in `(root)' 
    from org/jruby/RubyKernel.java:1041:in `require' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/gems/1.8/gems/glassfish-1.0.3.beta.1-universal-java/lib/server.rb:31:in `require' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/gems/1.8/gems/glassfish-1.0.3.beta.1-universal-java/lib/glassfish.rb:2:in `(root)' 
    from org/jruby/RubyKernel.java:1041:in `require' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/gems/1.8/gems/glassfish-1.0.3.beta.1-universal-java/lib/glassfish.rb:36:in `require' 
    from (irb):2:in `evaluate' 
    from org/jruby/RubyKernel.java:1091:in `eval' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/1.8/irb.rb:158:in `eval_input' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/1.8/irb.rb:271:in `signal_status' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/1.8/irb.rb:155:in `eval_input' 
    from org/jruby/RubyKernel.java:1416:in `loop' 
    from org/jruby/RubyKernel.java:1194:in `rbCatch' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/1.8/irb.rb:154:in `eval_input' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/1.8/irb.rb:71:in `start' 
    from org/jruby/RubyKernel.java:1194:in `rbCatch' 
    from c:/Users/asari/Documents/Development/jruby/lib/ruby/1.8/irb.rb:70:in `start' 

你看到JNA无法加载“C”库。我不确定这是为什么。

1

我遇到了同样的问题,运行的轨道与这些设置的3.0.3应用:

这些不工作:

窗,JRuby的1.6.0.RC1,与GlassFish 1.0.3.beta.1的通用的Java

窗,JRuby的1.6.0.RC1,与GlassFish 1.0.3的通用的Java

窗口,JRuby的1.6.0.RC1,GlassFish的-1.0.2-通用的Java

窗口,JRuby的1.5.6,与GlassFish 1.0.3.beta.1万能的Java

windows,jruby-1.5.6,glassfish-1.0.2-universal-java

windows,jruby-1.5.3,glassfish-1.0.3.beta.1-universal-java

这种设置工作寿:

窗口,JRuby的1.5.3,GlassFish的-1.0.2-通用的Java

jjnevis说,它适用于JRuby的1.5.5和GlassFish 1.0。 2,所以不太确定它是在jruby 1.5.5和1.5.6之间引入的bug还是在1.0.2和1.0.3之间的glassfish gem中引入的bug。但希望这可以帮助别人把它指向下..我正在睡觉抱歉..明天可能会再看看它