{"id":13647174,"url":"https://github.com/mopemope/meghanada-server","last_synced_at":"2025-04-09T07:05:58.918Z","repository":{"id":43334326,"uuid":"67041316","full_name":"mopemope/meghanada-server","owner":"mopemope","description":"A Java IDE Server for your editor. Java IDE-like features to your favourite text editor.","archived":false,"fork":false,"pushed_at":"2024-09-11T18:34:33.000Z","size":7369,"stargazers_count":232,"open_issues_count":19,"forks_count":35,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-09-12T04:50:24.804Z","etag":null,"topics":["ide","java","server"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mopemope.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-31T13:46:02.000Z","updated_at":"2024-09-08T06:52:59.000Z","dependencies_parsed_at":"2024-08-17T22:33:34.393Z","dependency_job_id":"5a2a70e6-7b51-49f9-9391-c411f07f946f","html_url":"https://github.com/mopemope/meghanada-server","commit_stats":null,"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mopemope%2Fmeghanada-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mopemope%2Fmeghanada-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mopemope%2Fmeghanada-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mopemope%2Fmeghanada-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mopemope","download_url":"https://codeload.github.com/mopemope/meghanada-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247994119,"owners_count":21030050,"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":["ide","java","server"],"created_at":"2024-08-02T01:03:22.694Z","updated_at":"2025-04-09T07:05:58.894Z","avatar_url":"https://github.com/mopemope.png","language":"Java","readme":"# Meghanada-Server\n\n[![Join the chat at https://gitter.im/mopemope/meghanada-server](https://badges.gitter.im/mopemope/meghanada-server.svg)](https://gitter.im/mopemope/meghanada-server?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Patreon](https://img.shields.io/badge/patreon-become%20a%20patron-red.svg)](https://www.patreon.com/mopemope)\n[![Github](https://github.com/mopemope/meghanada-server/workflows/Java%20CI/badge.svg)](https://github.com/mopemope/meghanada-server/actions)\n\nA Java IDE Server for your editor. Java IDE-like features to your favourite text editor.\n\n## Since we already have LSP, this product is no longer necessary, right?\nThis project is almost never used. This is because there is a useful product lsp-java. Please use it.\n\n## Features\n\nSome planned and implemented features:\n\n* Server supports a network connection\n* `Gradle` and `Maven` and `Eclipse` project support\n* Run build tool task\n* Compile your project\n* Support annotaion processor\n* Analyze java source (hooks into build)\n* Code completion\n* Optimize import\n* Jump declaration (without source)\n* Run junit test (include test runner)\n* Search references\n* Full-featured text search (default off)\n\nMeghanada-Server support only emacs client (meghanada-mode)\n\nThe Meghanada architecture is almost the same as `ensime`. It is client server model.\n\nMeghanada updates any information when saving and compile the java file.\n\n## Building\n\n### Requirement\n\n* JDK 8 or later.\n\nIf your project were maven project, It needs `maven` and add `mvn` command your `$PATH`.\n\n### Build jar\n\n```\n./gradlew clean goJF check shadowJar\n```\n\n## Usage Server\n\nSee help.\n\n```\njava -jar path/to/meghanada.jar --help\n```\n\n```\nusage: meghanada server\n    --gradle-version \u003carg\u003e   set use gradle version\n -h,--help                   show help\n -l,--log \u003carg\u003e              log file location. default:\n                             /tmp/meghanada_server.log\n    --output \u003carg\u003e           output format (sexp, csv, json). default:\n                             sexp\n -p,--port \u003carg\u003e             set server port. default: 55555\n -r,--project \u003carg\u003e          set project root path. default: current path\n -v,--verbose                show verbose message (DEBUG)\n    --version                show version information\n -vv,--traceVerbose          show verbose message (TRACE)\n```\n\n\n## Run Server\n\n```\njava -jar path/to/meghanada.jar\n```\n\nRecommend settings jvm args.\n\n```\njava -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Xverify:none -Xms256m -Dfile.encoding=UTF-8 -jar path/to/meghanada.jar\n```\n\nMeghanada-Server is required JDK 8 or later (not JRE). It used Compiler API.\n\n## Contributing\n\nContributions are extremely welcome!\n\nPlease check execute the following command before contributing. then please push PR to `dev` branch.\n\n```\n./gradlew clean goJF check\n```\n\n### Customize project manually\n\n* Write `.meghanada.conf` on project root.\n\nexample:\n\n```\n# This is an annotated reference of the options that may be set in a\n# .meghanada.conf file.\n#\n\n# Set JAVA_HOME\n# Type: string\njava-home = \"/usr/lib/jvm/default\n\n# Set java version\n# Type: string\n#\n# It is same effect following code.\n# System.setProperty(\"java.specification.version\", val);\njava-version = \"1.8\"\n\n# Set source compatibility\n# Type: string\ncompile-source = \"1.8\"\n\n# Set target compatibility\n# Type: string\ncompile-target = \"1.8\"\n\njava11-javac-args = [\n                 \"--add-exports\",\n                 \"jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED\",\n                 \"--add-exports\",\n                 \"jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED\",\n                 \"--add-exports\",\n                 \"jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED\",\n                 \"--add-exports\",\n                 \"jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED\",\n                 \"--add-exports\",\n                 \"jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED\",\n                 \"--add-exports\",\n                 \"jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED\",\n                 \"--add-exports\",\n                 \"java.management/sun.management=ALL-UNNAMED\",\n]\n\n# Set dependencies file list (jar filepath)\n# Type: string list\ndependencies = [\"/home/user/.m2/repository/org/apache/maven/maven-model/3.3.9/maven-model-3.3.9.jar\", \"/home/user/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar\", \"/home/user/.m2/repository/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar\" ... ]\n\n# Set test dependencies file list (jar filepath)\n# Type: string list\ntest-dependencies = [\"/home/ma2/.m2/repository/junit/junit/4.12/junit-4.12.jar\" ... ]\n\n# Set source directories\n# Type: string list\nsources = [\"src/main/java\"]\n\n# Set resource directories\n# Type: string list\nresources = [\"src/main/resources\"]\n\n# Set classes output directory\n# Type: string\noutput = \"build/main/classes\"\n\n# Set test source directories\n# Type: string list\ntest-sources = [\"src/test/java\"]\n\n# Set testt resource directories\n# Type: string list\ntest-resources = [\"src/test/resources\"]\n\n# Set test classes output directory\n# Type: string\ntest-output = \"build/test/classes\"\n\n```\n\n## License\n\nGPL v3, See [LICENSE](LICENSE) file.\n","funding_links":["https://www.patreon.com/mopemope"],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmopemope%2Fmeghanada-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmopemope%2Fmeghanada-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmopemope%2Fmeghanada-server/lists"}