2010-12-09 5 views
4
starten

Ich versuche, eine Rails 3 App auf einem Windows-Server mit jruby und Glassfish gem laufen. Ich kann die App gut mit "Rails s" ausführen. Hier ist mein Probelm:Glassfish Edelstein kann nicht auf Windows

C: \ webapp \ mcs> jruby -S Glasfischen

Startglassfish-Server an: 0.0.0.0:3000 in Entwicklungsumgebung ... Schreiben Protokollmeldungen an: C:/webapp/mcs/log/entwicklung.log. Drücken Sie Strg + C, um zu stoppen.

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 

Ich bin sicher, es ist eine einfache Umgebung Setup-Sache, irgendwelche Vorschläge? Sehr geschätzt.

+0

Sie könnten hier Hilfe bekommen http://www.java.net/forum/topic/glassfish/glassfish/glassfish-embedded-web-starten-so-close-0 – Preston

+0

Ja, war dort, aber kam nicht wirklich damit - keine Lösung zur Verfügung gestellt. Ich habe auch den Edelsteinverleger die gleiche Frage gestellt in der Hoffnung, dass er "Oh yeah, du musst ..." gehen wird! – jjnevis

+0

Es scheint ein Abhängigkeitsproblem zu sein. Was ich aus diesem Thread herausgeholt habe ist, dass die glassfish.jar benötigt wird. – Preston

Antwort

0

Ich habe das funktioniert, indem Sie einfach auf jruby-1.5.5. Ich beabsichtige, einen Blog-Post darüber zu schreiben, wie ich alles in Gang gebracht habe, weil es ein Albtraum war, aber es scheint, als würde es im Moment zusammenhalten. mein Setup ist:

Windows Server 2003 R2, Schienen 3.0.3, 1.5.5 jruby, Glasfischen gem 1.0.2

HINWEIS: Ich denke, dieses Update das Problem in jruby-1.5.6 löst aber noch nicht in der kompilierten Distro, so entschied ich mich gerade aus nach hinten: https://github.com/jruby/jruby/commit/621bce3056f71cc9cd0e1b8aa59cecae1fc15e45

2

Ich werde über den 1.0.3.beta.1 Code sprechen. Wie erwähnt, ist der Fehler ähnlich, aber ich vermute, sie sind verschiedene Erscheinungsformen des gleichen Problems.

Glassfish Juwel verlässt sich auf Akuma-Bibliothek (http://java.net/projects/akuma/) in den Hintergrund zu gehen. Wenn Sie versucht, dies mit JRuby zu laden, können Sie die Fehlermeldungen wie diese bekommen:

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' 

Sie sehen, dass JNA können nicht die „C“ Bibliothek laden. Ich bin mir nicht sicher, warum das so ist.

+0

Danke, möchte jemand diesen angehen? – jjnevis

+0

Akuma funktioniert nur auf Unix-ähnlichen Betriebssystemen. Es funktioniert nicht auf Windows. – Eike

1

ich in der gleichen Ausgabe lief eine Rails 3.0.3 app mit jedem dieser Setups ausgeführt wird:

diese funktionieren nicht:

Fenster, jruby-1.6.0.RC1, Glassfish-1.0.3.beta.1-universal-java

Fenster, jruby-1.6.0.RC1, Glassfish-1.0.3-universal-java

Fenster, jruby-1.6.0.RC1, Glassfish-1.0.2-universal-java

Fenster, jruby-1.5.6, Glassfish-1.0.3.beta.1-universal-java

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

fenster jruby-1.5.3, glasfisch-1.0.3.beta.1-universal-java

Dieses Setup gearbeitet tho:

Fenster, jruby-1.5.3, Glasfischen-1.0.2-universal-java

jjnevis sagt es funktioniert auf jruby-1.5.5 und 1.0 Glasfischen. Auch 2 ist nicht ganz sicher, ob es sich um einen Bug zwischen jruby 1.5.5 und 1.5.6 handelt oder um einen Bug, der im Glassfish-Juwel zwischen 1.0.2 und 1.0.3 eingeführt wurde.Aber hoffentlich hilft das jemand anderen, es auf den Punkt zu bringen. Ich gehe ins Bett, tut mir leid. Könnte morgen noch einen Blick darauf werfen.