imagej / imagej/ImageJ

ImageJ module question

Open
#194 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
786
Forks
267
PR merge metrics
No merged PRs in 30d

Description

I noticed that the `ij` Java module does not appear as a *named module* when InageJ is executed. For example, inside a plugin
```
IJ.log("IJ module = " + IJ.class.getModule());
IJ.log("IJ module name = " + IJ.class.getModule().getName());
```
gives
```
IJ module = unnamed module @10571272
IJ module name = null
```
and also the module is not listed by
```
for (Module m : ModuleLayer.boot().modules()) {
IJ.log(m.toString());
}
```
Unfortunately this is the same for other external modules that are loaded by IJ (including my own). Being no expert on this, the motive behind this question is that I want to use annotations on imported modules for specific settings.

Is this perhaps related to `ij.jar` being compiled for **language level 1.6**?

Running IJ 1.53v under Java 17.0.5 (WIn7).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by investigating how ij.jar is compiled and loaded when ImageJ 1.53v runs under Java 17, then compare that behavior with the external modules mentioned in the report. Check whether named-module metadata is present and whether the module visibility differs between the plugin and the boot layer; done means documenting the cause and its implications for annotations.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.