{"id":19093448,"url":"https://github.com/imagej/example-legacy-plugin","last_synced_at":"2025-07-29T09:39:14.347Z","repository":{"id":4896815,"uuid":"6052576","full_name":"imagej/example-legacy-plugin","owner":"imagej","description":"Simple Maven project for an ImageJ 1.x plugin","archived":false,"fork":false,"pushed_at":"2022-04-11T19:09:23.000Z","size":67,"stargazers_count":34,"open_issues_count":3,"forks_count":41,"subscribers_count":34,"default_branch":"main","last_synced_at":"2025-06-10T20:14:19.229Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"thedjpetersen/subway","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imagej.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-02T22:34:28.000Z","updated_at":"2025-02-18T11:24:20.000Z","dependencies_parsed_at":"2022-09-15T21:31:35.848Z","dependency_job_id":null,"html_url":"https://github.com/imagej/example-legacy-plugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/imagej/example-legacy-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-legacy-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-legacy-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-legacy-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-legacy-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imagej","download_url":"https://codeload.github.com/imagej/example-legacy-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imagej%2Fexample-legacy-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267664900,"owners_count":24124414,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-09T03:24:43.304Z","updated_at":"2025-07-29T09:39:14.321Z","avatar_url":"https://github.com/imagej.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is an example Maven project implementing an ImageJ 1.x plugin.\n\nFor an example Maven project implementing an **ImageJ2 command**, see:\n    https://github.com/imagej/example-imagej2-command\n\nIt is intended as an ideal starting point to develop new ImageJ 1.x plugins\nin an IDE of your choice. You can even collaborate with developers using a\ndifferent IDE than you.\n\n* In [Eclipse](http://eclipse.org), for example, it is as simple as\n  _File \u0026#8250; Import... \u0026#8250; Existing Maven Project_.\n\n* In [NetBeans](http://netbeans.org), it is even simpler:\n  _File \u0026#8250; Open Project_.\n\n* The same works in [IntelliJ](http://jetbrains.net).\n\n* If [jEdit](http://jedit.org) is your preferred IDE, you will need the\n  [Maven Plugin](http://plugins.jedit.org/plugins/?MavenPlugin).\n\nDie-hard command-line developers can use Maven directly by calling `mvn`\nin the project root.\n\nHowever you build the project, in the end you will have the `.jar` file\n(called *artifact* in Maven speak) in the `target/` subdirectory.\n\nTo copy the artifact into the correct place, you can call\n`mvn -Dscijava.app.directory=/path/to/ImageJ.app/`.\nThis will not only copy your artifact, but also all the dependencies. Restart\nyour ImageJ or call *Help \u0026#8250; Refresh Menus* to see your plugin in the menus.\n\nDeveloping plugins in an IDE is convenient, especially for debugging. To\nthat end, the plugin contains a `main` method which sets the `plugins.dir`\nsystem property (so that the plugin is added to the Plugins menu), starts\nImageJ, loads an image and runs the plugin. See also\n[this page](https://imagej.net/Debugging#Debugging_plugins_in_an_IDE_.28Netbeans.2C_IntelliJ.2C_Eclipse.2C_etc.29)\nfor information how ImageJ makes it easier to debug in IDEs.\n\nSince this project is intended as a starting point for your own\ndevelopments, it is in the public domain.\n\nHow to use this project as a starting point\n===========================================\n\n1. Visit [this link](https://github.com/imagej/example-legacy-plugin/generate)\n   to create a new repository in your space using this one as a template.\n\n2. [Clone your new repository](https://help.github.com/en/articles/cloning-a-repository).\n\n3. Edit the `pom.xml` file. Every entry should be pretty self-explanatory.\n   In particular, change\n    1. the *artifactId* (**NOTE**: should contain a '_' character)\n    2. the *groupId*, ideally to a reverse domain name your organization owns\n    3. the *version* (note that you typically want to use a version number\n       ending in *-SNAPSHOT* to mark it as a work in progress rather than a\n       final version)\n    4. the *dependencies* (read how to specify the correct\n       *groupId/artifactId/version* triplet\n       [here](https://imagej.net/Maven#How_to_find_a_dependency.27s_groupId.2FartifactId.2Fversion_.28GAV.29.3F))\n    5. the *developer* information\n    6. the *scm* information\n\n4. Remove the `Process_Pixels.java` file and add your own `.java` files\n   to `src/main/java/\u003cpackage\u003e/` (if you need supporting files -- like icons\n   -- in the resulting `.jar` file, put them into `src/main/resources/`)\n\n5. Edit `src/main/resources/plugins.config`\n\n6. Replace the contents of `README.md` with information about your project.\n\n7. Make your initial\n   [commit](https://help.github.com/en/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project) and\n   [push the results](https://help.github.com/en/articles/pushing-commits-to-a-remote-repository)!\n\n### Eclipse: To ensure that Maven copies the plugin to your ImageJ folder\n\n1. Go to _Run Configurations..._\n2. Choose _Maven Build_\n3. Add the following parameter:\n    - name: `scijava.app.directory`\n    - value: `/path/to/ImageJ.app/`\n\nThis ensures that the final `.jar` file will also be copied to\nyour ImageJ plugins folder everytime you run the Maven build.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimagej%2Fexample-legacy-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimagej%2Fexample-legacy-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimagej%2Fexample-legacy-plugin/lists"}