2010-12-09 125 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。但希望這可以幫助別人把它指向下..我正在睡覺抱歉..明天可能會再看看它