Glassfish Gem не запускается на Windows - PullRequest
4 голосов
/ 09 декабря 2010

Я пытаюсь запустить приложение rails 3 на сервере Windows, используя jruby и glassfish gem.Я могу нормально запустить приложение, используя "rails s".Вот моя проблема:

C: \ webapp \ mcs> jruby -S glassfish

Запуск сервера GlassFish по адресу: 0.0.0.0:3000 в среде разработки ... Запись сообщений журнала в: C:/webapp/mcs/log/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

Я уверен, что это простая настройка среды, какие-либо предложения?Очень ценится.

Ответы [ 3 ]

2 голосов
/ 10 декабря 2010

Я собираюсь рассказать о коде 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 голос
/ 07 февраля 2011

Я столкнулся с той же проблемой при запуске приложения rails 3.0.3 с каждой из следующих настроек:

Они не работают:

windows, jruby-1.6.0.RC1, glassfish-1.0.3.beta.1-universal-java

windows, jruby-1.6.0.RC1, glassfish-1.0.3-universal-java

windows, jruby-1.6.0.RC1, glassfish-1.0.2-universal-java

windows, jruby-1.5.6, glassfish-1.0.3.beta.1-universal-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

Эта настройка работала, хотя:

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

jjnevis говорит, что он работает на jruby-1.5.5 и glassfish 1.0.2, поэтому не совсем уверен, что это ошибка, введенная между jruby 1.5.5 и 1.5.6, или ошибка, появившаяся в геме glassfish между 1.0.2 и 1.0.3. Но, надеюсь, это поможет кому-то еще определить это. Я иду спать, извините. Могу еще раз взглянуть на это завтра

0 голосов
/ 15 декабря 2010

Я получил это, просто вернувшись к jruby-1.5.5.Я намереваюсь сделать сообщение в блоге о том, как я все это запустил, потому что это было немного кошмарно, но в настоящий момент, похоже, все складывается.мои настройки:

windows server 2003 R2, рельсы 3.0.3, jruby 1.5.5, glassfish gem 1.0.2

ПРИМЕЧАНИЕ. Думаю, это исправление решает проблему в jruby-1.5.6, но еще не в скомпилированном дистрибутиве, поэтому я просто решил отступить: https://github.com/jruby/jruby/commit/621bce3056f71cc9cd0e1b8aa59cecae1fc15e45

...