首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从源Jruby和Buildr构建apache ODE

从源Jruby和Buildr构建apache ODE
EN

Stack Overflow用户
提问于 2017-08-01 13:49:16
回答 1查看 63关注 0票数 0

我需要从源代码构建apache 1.3.5。从源代码构建对我来说很重要,因为我们计划对ODE代码进行一些更改。我试了一下他们的使用说明。我能够安装jruby 1.5.1,但无法使用上述版本的jruby安装buildr 1.4.4。我谷歌了一下,似乎不得不升级到jruby 1.6.2。在更新版本的jruby(1.6.2)之后,我能够安装buildr 1.4.4,但是当我转到ODE源代码的根目录并执行以下命令时

代码语言:javascript
复制
buildr package test=no

我在控制台上得到以下异常

代码语言:javascript
复制
LoadError: no such file to load -- rubygems/source_info_cache
  require at org/jruby/RubyKernel.java:1038
  require at c:/jruby-1.6.2/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29
   (root) at c:/jruby-1.6.2/lib/ruby/gems/1.8/gems/buildr-1.4.4-java/lib/buildr/core/application.rb:41
  require at org/jruby/RubyKernel.java:1038
  require at c:/jruby-1.6.2/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29
   (root) at c:/jruby-1.6.2/lib/ruby/gems/1.8/gems/buildr-1.4.4-java/lib/buildr/core/application.rb:17
  require at org/jruby/RubyKernel.java:1038
  require at c:/jruby-1.6.2/lib/ruby/gems/1.8/gems/buildr-1.4.4-java/lib/buildr/core.rb:29
   (root) at c:/jruby-1.6.2/lib/ruby/gems/1.8/gems/buildr-1.4.4-java/lib/buildr.rb:20
  require at org/jruby/RubyKernel.java:1038
  require at c:/jruby-1.6.2/lib/ruby/gems/1.8/gems/buildr-1.4.4-java/lib/buildr.rb:29
   (root) at c:/jruby-1.6.2/lib/ruby/gems/1.8/gems/buildr-1.4.4-java/bin/buildr:18
     load at org/jruby/RubyKernel.java:1063
   (root) at c:\jruby-1.6.2\bin\buildr:19

我不知道我做错了什么。这是我第一次与jrubybuildr进行交互。我很感激任何关于建立这个储存库的建议。

编辑1:是安装jruby 1.7.13buildr 1.4.19jruby -S gem list的结果

代码语言:javascript
复制
C:\Users\16030053.CS-6606-DT>jruby -S gem list

*** LOCAL GEMS ***

atoulme-Antwrap (0.7.5 java)
bouncy-castle-java (1.5.0147)
builder (3.2.2)
buildr (1.4.19 java)
bundler (1.15.3)
diff-lcs (1.2.4)
ffi (1.9.3 java)
hoe (3.7.1)
jruby-openssl (0.9.5 java, 0.8.10)
jruby-pageant (1.1.1 java)
jruby-win32ole (0.8.5)
json (1.8.0 java)
json_pure (1.8.0)
krypt (0.0.2)
krypt-core (0.0.2 universal-java)
krypt-provider-jdk (0.0.2)
minitar (0.5.4)
net-sftp (2.1.2)
net-ssh (2.7.0)
orderedhash (0.0.6)
rake (10.1.0, 0.9.2.2)
rdoc (4.0.1)
rspec (2.14.1)
rspec-core (2.14.5)
rspec-expectations (2.14.3)
rspec-mocks (2.14.3)
rubyzip (0.9.9)
xml-simple (1.1.2)

C:\Users\16030053.CS-6606-DT>

编辑2当我在apache-ode-sources-1.3.5中执行命令buildr package test=no --trace时,我得到以下错误

代码语言:javascript
复制
F:\apache-ode-sources-1.3.5>buildr package test=no --trace
Buildr aborted!
SyntaxError : F:/apache-ode-sources-1.3.5/tasks/jbi.rake:79: formal argument cannot be an instance variable
        Tempfile.open("MANIFEST.MF") { |@jbi_xml_tmp| @jbi_xml_tmp.write descriptor }
                                                   ^
org/jruby/RubyKernel.java:1081:in `load'
c:/jruby-1.7.13/lib/ruby/gems/shared/gems/buildr-1.4.19-java/lib/buildr/core/application.rb:1:in `(root)'
org/jruby/RubyArray.java:1613:in `each'
c:/jruby-1.7.13/lib/ruby/gems/shared/gems/buildr-1.4.19-java/lib/buildr/core/application.rb:497:in `load_tasks'
c:/jruby-1.7.13/lib/ruby/gems/shared/gems/buildr-1.4.19-java/lib/buildr/core/application.rb:494:in `load_tasks'
c:/jruby-1.7.13/lib/ruby/gems/shared/gems/buildr-1.4.19-java/lib/buildr/core/application.rb:224:in `load_buildfile'
c:/jruby-1.7.13/lib/ruby/gems/shared/gems/buildr-1.4.19-java/lib/buildr/core/application.rb:535:in `standard_exception_handling'
c:/jruby-1.7.13/lib/ruby/gems/shared/gems/buildr-1.4.19-java/lib/buildr/core/application.rb:220:in `load_buildfile'
c:/jruby-1.7.13/lib/ruby/gems/shared/gems/buildr-1.4.19-java/lib/buildr/core/application.rb:130:in `run'
c:/jruby-1.7.13/lib/ruby/gems/shared/gems/buildr-1.4.19-java/lib/buildr/core/application.rb:535:in `standard_exception_handling'
c:/jruby-1.7.13/lib/ruby/gems/shared/gems/buildr-1.4.19-java/lib/buildr/core/application.rb:128:in `run'
org/jruby/RubyKernel.java:1081:in `load'
c:\jruby-1.7.13\bin\buildr:23:in `(root)'

F:\apache-ode-sources-1.3.5>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-08 16:08:42

下面是@sathwik在apache-ode邮件列表上的响应,它帮助我编译了1.3.5版本的ode源代码

你好穆罕默德, 使用jruby 1.7.13和buildr 1.4.19 编辑文件<ode 1.3.5 source>/tasks/jbi.rake。用以下内容查找并替换初始化方法 def初始化(*args)超级准备{ path("lib").include((component.libs + bootstrap.libs).flatten.uniq) }当字符串路径(“META”).include jbi_xml.path,:as=>"jbi.xml“在垃圾收集中被删除时,增强do jbi_xml,所以我们将通过实例变量而不是闭包变量来保留它。@jbi_xml_tmp = Tempfile.new('MANIFEST.MF') @jbi_xml_tmp.write描述符路径(“META”).include @jbi_xml_tmp.path,:as=>"jbi.xml“@jbi_xml_tmp.close,方法@jbi_xml_tmp = Tempfile.new('MANIFEST.MF') @jbi_xml_tmp.write jbi_xml.call.to_s path(“META”).include @jbi_xml_tmp.path,:as=>"jbi.xml“@jbi_xml_tmp.close end end 除了上述更改外,我还必须更改dependencies.rb文件的第37行 AXIS2_WAR =“org.apache.axis 2:axis2-webapp:war:1.3”到AXIS2_WAR =“org.apache.axis 2:axis2-webapp:war:1.6.2” 之所以需要进行上述更改,是因为所有包含axis2-webapp:war:1.3引用的存储库都已关闭。此外,您需要在repositories.rb文件的末尾添加以下行 repositories.remote << "http://people.apache.org/~vanto/m2/“ 这是实现所需的依赖关系之一,即xdoclet:xjavadoc-1.1-j5所必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45439748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档