{"id":13636348,"url":"https://github.com/kud1ing/rucaja","last_synced_at":"2025-04-19T08:32:00.193Z","repository":{"id":57664083,"uuid":"76163545","full_name":"kud1ing/rucaja","owner":"kud1ing","description":"Calling the JVM from Rust via JNI","archived":true,"fork":false,"pushed_at":"2019-01-09T22:12:16.000Z","size":143,"stargazers_count":31,"open_issues_count":10,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-13T17:21:46.287Z","etag":null,"topics":["ffi","java","jni","rust"],"latest_commit_sha":null,"homepage":"https://docs.rs/rucaja","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kud1ing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-11T08:49:23.000Z","updated_at":"2024-01-07T09:46:02.000Z","dependencies_parsed_at":"2022-08-28T02:24:41.136Z","dependency_job_id":null,"html_url":"https://github.com/kud1ing/rucaja","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kud1ing%2Frucaja","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kud1ing%2Frucaja/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kud1ing%2Frucaja/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kud1ing%2Frucaja/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kud1ing","download_url":"https://codeload.github.com/kud1ing/rucaja/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223795224,"owners_count":17204135,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffi","java","jni","rust"],"created_at":"2024-08-02T00:01:00.238Z","updated_at":"2024-11-09T06:30:18.700Z","avatar_url":"https://github.com/kud1ing.png","language":"Rust","funding_links":[],"categories":["Development tools"],"sub_categories":["FFI"],"readme":"# Rucaja (Rust calls Java) [![Build Status](https://travis-ci.org/kud1ing/rucaja.svg?branch=master)](https://travis-ci.org/kud1ing/rucaja)\n\nCalling JVM code from Rust via JNI.\n\n## Usage\n\nJNI calls are about 10-20 times slower than regular JVM instructions.\nIt is adviced to call as few functions as possible that do as much work as possible.\n\nCreating a flat Java wrapper class and producing a fat JAR with all the dependencies also reduces the amount of Rust interface code.\n\nA more complete example is [kud1ing/tinkerpop-rs](https://github.com/kud1ing/tinkerpop-rs) which uses Rucaja to call [Apache TinkerPop](https://tinkerpop.apache.org).\n\n## Platforms\n\nThe code is tested on Linux and macOS.\nYour platform might need adjustments in `build.rs`.\n\n### Mac\n\nTrying to run may give:\n\n    dyld: Library not loaded: @rpath/libjvm.dylib\n      Referenced from: ./target/debug/rucaja\n      Reason: image not found\n    Abort trap: 6\n\nthis might require something like:\n\n    sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib\n\n\n## License\n\nLicensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkud1ing%2Frucaja","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkud1ing%2Frucaja","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkud1ing%2Frucaja/lists"}