`
mike.gao
  • 浏览: 48485 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

rails调用java的jar包

阅读更多
最近在做一个项目需要调用java的jar包,实现word文档内文字全文检索(代码水平不高凑合看吧,有不对的望指出)
首先在系统中安装java-jdk环境
让我们先从JDK开始。

安装Sun JDK
1. 从Oracle官方网站下载最新的Linux版本JDK二进制包。对于Java 6来说,文件名是 jdk-6u22-linux-i586.bin

2. 复制下载好的文件到你准备安装JDK的文件目录下。这里我将其放在 /home//java/jdk-6u22-linux-i586.bin

3. 打开终端(Terminal)窗口并定位到上一步的文件目录下,然后输入命令:sudo sh jdk-6u22-linux-i586.bin 并回车。

4. 如果系统提示输入root用户密码,授权后JDK安装就会开始。JDK会被安装在二进制包所在的同一目录内。

此处也可以打开新立得,从里面搜索openjdk-6-jdk,全部安装

到这里JDK的安装已经完成了。但是我们仍然还有一些工作要做,那就是设置 JAVA_HOME 环境变量。

设置 JAVA_HOME 环境变量
1. 进入 Nautilus文件管理器(位置->主目录)并打开.bashrc文件;由于此文件默认是隐藏状态,所以你需要通过 Ctrl+H 来显示所有隐藏文件。

2. 把下面的代码段加入到.bashrc文件的末尾:
此处要注意的是路径,还有“:”,不是“;”
export JAVA_HOME=/usr/java/jdk1.6.0_13(根据自己的版本号修改)
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

不要忘了修改上面代码第一行中的路径,修改为你安装JDK的路径

3. 好了,注销并重新登录之后配置就完成了。为了测试是否成功安装,可以在终端(Terminal)里输入 java -version 来查看你当前安装的JDK版本号。

安装Eclipse
这里不说了,本人用的vim

把jar包放到rails项目中
environment.rb
require 'rjb'

classpath = ["#{RAILS_ROOT}/lib/bcprov-ext-jdk15-145.jar",
    "#{RAILS_ROOT}/lib/bcprov-jdk15-145.jar",
    "#{RAILS_ROOT}/lib/commons-beanutils-1.7.0.jar",
    "#{RAILS_ROOT}/lib/commons-collections-3.1.jar",
    "#{RAILS_ROOT}/lib/commons-lang-2.1.jar",
    "#{RAILS_ROOT}/lib/commons-logging-1.1-jar",
    "#{RAILS_ROOT}/lib/commons-logging-api-1.1.jar",
    "#{RAILS_ROOT}/lib/commons-pool.jar",
    "#{RAILS_ROOT}/lib/dom4j-1.6.1.jar"].join(':')

Rjb::load(classpath, ['-Xmx512M']) #POOF – Java runtime!




search_controller.rb
  #全文检索
  def search
    str=Rjb::import('cn.xxx.lucene.SearchFiles')
    skey = str.new
    skey.setINDEX_PATH("#{RAILS_ROOT}/index");
    @list = Rjb::import('java.util.ArrayList').new
    if params[:startindex].blank?
      @startindex = 0 
    else
      @startindex = params[:startindex].to_i
    end
    @list = skey.search(params[:query],@startindex,10)
    @s = Rjb::import('java.lang.String')
        @attachments = Array.new
    @list.size.times do |l|
      @s = @list.get(l)
      @a = @s.toString()
      @a.split(",")[0].each do |a| 
        @attachment = Attachment.find_by_id(a)
        @attachments<<@attachment
      end

    end
    render :layout => 'main'
  end

  #更新索引
  def suoyin
    indexfiles = Rjb::import('cn.xxx.lucene.IndexFiles')
    inf = indexfiles.new("#{RAILS_ROOT}/index","#{RAILS_ROOT}/public/files")
    inf.setAppend(false)
    inf.createIndex()
    redirect_to :controller => 'my', :action => 'home'
  end





如发现有不足可以补充,我觉得还少点什么
分享到:
评论

相关推荐

    java开源包1

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    Java资源包01

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包4

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包8

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包6

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包9

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包5

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包10

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包101

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包3

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    利用RJB在Ruby on Rails中使用Java代码的教程

    本教程的目标在于指导读者如何配置和使用RJB,从而在Rails应用中集成和调用Java代码。由于Rails框架本身的功能丰富,本教程并未深入探讨其细节,而是专注于RJB的使用方法。如果你对Rails不熟悉,建议查阅相关的官方...

    java开源包2

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包11

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    java开源包7

    php调用java类 Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包...

    JAVA上百实例源码以及开源项目源代码

    Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来...

    JRuby 实战入门

    JRuby不仅实现了Ruby的大部分功能,还提供了与Java无缝集成的能力,让开发者可以调用Java库,使用Java框架,甚至混合编写Ruby和Java代码。 **JRuby的优势** 1. **性能提升**:由于JRuby运行在JVM上,它能够利用JVM...

    JRuby+Netbeans开发攻略之用JRuby调用JFreeChart

    如果忘记勾选,可以在项目属性中进行修改,添加JDBC驱动到JRuby的类路径,例如将`mysql-connector-java-5.1.6-bin.jar`添加到 `%netbeans_path%\ide10\modules\ext`目录下。 接下来,我们需要更新Rails版本。在本文...

    Java 版的 Ruby 解释器 JRuby 1.7.14 发布

    JRuby 1.7.14 修复了一系列具体的 bugs,涉及字符串操作、Tempfile 管理、Java 8 接口的静态方法调用、资源释放、数组操作、JMX 绑定问题、Java 8 性能问题、JRuby 类加载器问题、嵌入式 JAR 文件加载、$LOAD_...

Global site tag (gtag.js) - Google Analytics