之前开发了 java_side ,主要是便于 jruby 中使用基于 maven 管理的 java 三方包和基于 spring 管理的运行时服务,不过现在 jruby 1.6 以后 maven 这件事可以不必那么麻烦了,根据这篇blog
,我把自己试验的例子贴出来供参考:
$ jruby -S gem install mvn:org.springframework:spring
Successfully installed mvn:commons-logging:commons-logging-1.1.1-java
Successfully installed mvn:org.springframework:spring-2.5.6-java
2 gems installed
Installing RDoc documentation for mvn:commons-logging:commons-logging-1.1.1-java...
Installing RDoc documentation for mvn:org.springframework:spring-2.5.6-java...
$ jruby -S irb
jruby-1.6.2 :001 > require 'java'
=> true
jruby-1.6.2 :002 > require 'rubygems'
=> true
jruby-1.6.2 :003 > require 'mvn:org.springframework:spring'
=> true
jruby-1.6.2 :004 > $CLASSPATH << '/home/john/mypro/java/conf'
=> ["file:/home/john/.rvm/gems/jruby-1.6.2/gems/mvn:org.springframework:spring-2.5.6-java/lib/maven/org.springframework/spring.jar", "file:/home/john/.rvm/gems/jruby-1.6.2/gems/mvn:commons-logging:commons-logging-1.1.1-java/lib/maven/commons-logging/commons-logging.jar", "file:/home/john/mypro/java/conf/"]
jruby-1.6.2 :005 > context = org.springframework.context.support.ClassPathXmlApplicationContext.new 'springbeans_development.xml'
2011-7-24 11:49:00 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4f7f1d92: display name [org.springframework.context.support.ClassPathXmlApplicationContext@4f7f1d92]; startup date [Sun Jul 24 11:49:00 CST 2011]; root of context hierarchy
2011-7-24 11:49:00 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [springbeans_development.xml]
2011-7-24 11:49:00 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
信息: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@4f7f1d92]: org.springframework.beans.factory.support.DefaultListableBeanFactory@706c08b2
2011-7-24 11:49:00 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@706c08b2: defining beans [sample]; root of factory hierarchy
=> #<Java::OrgSpringframeworkContextSupport::ClassPathXmlApplicationContext:0x4f7f1d92>
jruby-1.6.2 :006 > context.get_bean 'sample'
=> #<Java::JavaUtil::ArrayList:0xe039859>
附:springbeans_development.xml
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="sample" class="java.util.ArrayList">
<constructor-arg>
<list>
<value>sample01</value>
<value>sample02</value>
<value>sample03</value>
</list>
</constructor-arg>
</bean>
</beans>
$ jruby -S gem list mvn:org.mortbay.jetty:jetty -r
*** REMOTE GEMS ***
mvn:org.mortbay.jetty:jetty (7.0.0.pre.5 java, 7.0.0.pre.4 java, ......)
$ jruby -S gem search mvn:org.mortbay.jetty:jetty -r
*** REMOTE GEMS ***
mvn:org.mortbay.jetty:jetty (7.0.0.pre.5 java, 7.0.0.pre.4 java,......)
分享到:
相关推荐
标题 "jruby-maven-plugin-1.0.1.zip" 提供了我们正在处理的是一个Maven插件,名为“jruby-maven-plugin”,版本号为1.0.1。这个插件是用Ruby语言(JRuby)编写的,旨在与Maven构建工具集成,帮助开发者在Java项目中...
jruby-maven-plugins, 以 Maven 方式,Maven 插件用来处理 rubygems 包括对 rspec Rails Cucumber rake等的支持 Maven 插件 gem-工件有 Maven 存储库,torquebox.org 提供了来自 rubygems.org的gem ( 只有 ruby 和...
jruby maven插件宝石文物有一个带有magicbox.org的Maven存储库,该存储库从rubygems.org提供gem(人造宝石)(仅ruby和java平台)。 将此存储库添加到pom.xml(或settings.xml)中,使maven可以使用像这样的gem-...
2. Gradle 或 Maven 集成:开发过程中,JRuby 可以通过 Gradle 或 Maven 作为依赖管理工具进行集成。 【知识点五:JRuby 社区和生态】 1. 社区活跃:JRuby 有活跃的社区支持,包括开发者、贡献者和用户,他们共同...
- **Java 7 支持**:JRuby 1.7.8 开始支持 Java 7,能够充分利用其新特性,如 invokedynamic 指令。 - **改进的垃圾回收**:这一版本对垃圾回收机制进行了调整,减少了内存占用并提高了运行效率。 **3. 使用 JRuby ...
Maven不仅支持Java和JVM平台上的其他语言,如Scala、JRuby、Groovy和Grails,还能编译C、C++和.NET代码。此外,Maven还允许编写自定义插件来补充构建流程,可以重用Ant中的任何组件,体现了高度的灵活性和可扩展性。...
通过解压并查看这些源代码,开发者可以深入理解JRuby的内部工作原理,包括其解析器、编译器、运行时环境以及对Ruby语法和库的实现。这对于学习如何在Java环境中实现动态语言,或者想要为JRuby贡献代码的人来说是极其...
##BUNDLER Maven 插件 使用 jruby 和 bundler 进行混合 java 和 ruby 应用程序开发的插件。 只需在系统中安装java 1.7和maven即可使用。 ##如何使用 将插件依赖添加到你的 pom.xml < groupId>...
4. **Rails支持**:对于Web开发,JRuby支持Ruby on Rails框架,可以在Windows环境下搭建高效稳定的Rails应用服务器。 5. **并发性**:JVM的线程模型为JRuby提供了良好的并发支持,适合处理高并发场景。 **JRuby ...
- **兼容性**:1.3.1版本致力于保持对Ruby 1.8.x版本的兼容性,这意味着大部分Ruby代码可以在JRuby 1.3.1上无缝运行。 - **性能提升**:相比早期版本,1.3.1可能包含了性能优化,使Ruby代码在JVM上的执行效率更高...
JRuby还支持Just-In-Time(JIT)编译,这意味着频繁执行的代码块会被自动优化成本地机器代码,从而提高运行时性能。 在JRuby中,你可以直接调用Java类库,就像调用Ruby内置函数一样简单。这对于集成Java框架,如...
**JRuby 安装与配置指南** JRuby 是一个基于 Java 平台的 Ruby 实现,它允许开发者利用 Ruby 语言的优势同时享受 Java 生态系统的强大功能。在本文中,我们将详细探讨如何安装和配置 JRuby,特别是针对 JRuby 1.1.2...
**标签:“jruby”**:这个标签直接指出了主题,即 JRuby,它是Ruby语言的一个重要分支,专注于在Java环境中提供对Ruby的支持。 **压缩包子文件的文件名称列表:**"jruby-0.9.0" 指示了在解压后,我们得到的是JRUBY...
Maven权威指南 Authors Tim O'Brien (Sonatype, Inc.) , John Casey (Sonatype, Inc.) , Brian Fox (Sonatype, Inc.) , Bruce Snyder () , Jason Van Zyl (Sonatype, Inc.) , Juven Xu () Abstract Maven权威指南...
通过JRuby on Rails,Java开发者可以使用Ruby的简洁语法和Rails的高效开发模式,同时享受Java的成熟技术栈和企业级支持。本书通过一系列实践项目,展示了如何将Rails应用与Java企业应用环境整合,包括如何利用Java ...
2. **社区与支持**:JRuby 有强大的社区支持,开发者可以获取到丰富的资源和帮助。 3. **文档丰富**:JRuby 有详尽的文档,方便开发者学习和解决问题。 4. **IDE 支持**:支持多种优秀的 Java 开发环境,如 IntelliJ...
jruby安装包 和 jruby的lib库 JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让...
3. JRuby 支持使用 JRuby-Rack 运行 Rails 应用,可以在 Java 应用服务器上部署 Ruby on Rails 项目。 4. JRuby 还可以作为 Java 代码调用 Ruby 代码的桥梁,通过 JRuby API 实现 Java 和 Ruby 之间的互操作。 关于...