JRuby1.5.1下執行Rails2.2.2應用
JRuby1.5.1下執行Rails2.2.2應用
最近要把我的一個RoR專案賣給客戶,為了進行產權保護,研究了一下JRuby的打包,記錄如下
- 下載/安裝JRuby
- JRuby 下載地址 http://jruby.org/download
- 下載Windows版本,然後安裝到C盤下
- 安裝的時候自動設定PATH,方便不少.
- 執行 jruby -v 驗證安裝成功
- 安裝Rails 2.2.2
- jruby -S gem install rails -v 2.2.2
- 安裝JDBC驅動
- JDBC
- jruby -S gem install activerecord-jdbc-adapter
- Sqlite3
- jruby -S gem install activerecord-jdbcsqlite3-adapter
- MySQL
- jruby -S gem install activerecord-jdbcmysql-adapter
- JDBC
- 安裝Sqlite3資料庫
- 下載Sqlit3
- 放置sqlite3.exe和sqlite3.dll到JRUBY/bin下
- 建立Rails 專案
- > jruby -S rails myapp
- > cd myapp
- # 生成一個介面
- > jruby script/generate scaffold post title:string body:text published:boolean
- #建立資料庫,如果失敗,檢查sqlite3.exe是否在PATH中
- > jruby -S rake db:create
- #匯入資料
- > jruby -S rake db:migrate
- #啟動伺服器
- > jruby script/server
- #測試地址1
- http://localhost:3000
- #測試地址2
- http://localhost:3000/posts
- 修改config
- myapp/config/database.yml
- 利用warbler打包
- 安裝
- > jruby -S gem install warbler
- 生成config配置
- > jruby -S warble config
- 修改warble.rb配置
- 生成war包
- > jruby -S warble war
- 把生成的myapp.war放在tomcat下執行。
- 雖然可以在Tomcat下執行Rails程式,但是開啟War包一看,還是rb程式碼。所以還要用AOT模式重新打一次
- 利用warbler進行AOT模式打包
- 下載唐力群修改過得warbler包,地址為 http://github.com/crazycode/warbler
- 下載後解壓縮,覆蓋C:/jruby-1.5.1/lib/ruby/gems/1.8/gems/warbler-1.1.0下內容
- 執行warble -T,會多出war:aot
- 如果你不是Rails2.3.2的話還需要修改C:/jruby-1.5.1/lib/ruby/gems/1.8/gems/warbler-1.1.0/lib/warbler/task.rb檔案
- 執行 > jruby -S warble war:aot
- 生成war包。並且裡面只有class
- 唐力群修改過的包提供了2.2.2/2.3.2兩個版本的dependencies.rb的修改。如果不是這兩個版本的rails,則需要自行修改dependencies.rb. 參考如下
相關文章
- standalone執行模式下 應用模式作業部署模式
- 多執行緒應用執行緒
- 執行變臉式應用
- 使用SAP BSP應用執行VueVue
- 在 OpenFunction 中執行 Serverless 應用FunctionServer
- windows10系統下執行Android應用程式的方法WindowsAndroid
- HttpRuntime應用程式的執行時HTTP
- Chormium執行緒模型及應用指南ORM執行緒模型
- 使用forever執行nodejs應用NodeJS
- 可本地執行大模型的應用大模型
- 使用 ARChon 執行時環境在 Ubuntu 上執行 Android 應用UbuntuAndroid
- 多執行緒應用初探(一)----(概念,安全)執行緒
- Docker容器中執行.Net Core應用程式Docker
- kubernetes執行應用1之Deployment
- MapReduce如何作為Yarn應用程式執行?Yarn
- NCF的Dapr應用例項的執行
- 在 WASI 上執行 .NET 7 應用程式
- PlayCover for Mac(全屏執行ios應用軟體)MaciOS
- Runtime-iOS執行時應用篇iOS
- 一個Flask應用執行過程剖析Flask
- iOS中多執行緒之GCD應用iOS執行緒GC
- Java 多執行緒應用 之 ArrayBlockingQueueJava執行緒BloC
- 汽車行業的CRM應用(下) (轉)行業
- 執行時應用自我保護(RASP):應用安全的自我修養
- Android中子執行緒更新主執行緒UI和ProgressBar的應用Android執行緒UI
- 在Web應用程式中執行計劃任務(多執行緒) (轉)Web執行緒
- 解決 win10 命令列下執行 python 彈出 Windows 應用商店Win10命令列PythonWindows
- Win10系統下怎麼設定只允許執行指定應用Win10
- Linux下用crontab定時執行PHP程式LinuxPHP
- ObjC 多執行緒簡析(一)-多執行緒簡述和執行緒鎖的基本應用OBJ執行緒
- 詳談執行緒池的理解和應用執行緒
- Hummingbird: 在Web上執行Flutter應用WebFlutter
- laravel 應用層執行過程原始碼分析Laravel原始碼
- 判斷應用所執行的CPU型別型別
- 分散式應用執行時 Dapr 1.7 釋出分散式
- Ooui:在瀏覽器中執行.NET應用UI瀏覽器
- Android應用中使用執行時註解Android
- 在CentOS中使用docker執行nodejs應用CentOSDockerNodeJS