Description
On Windows, it seems that Maven puts its .m2
folder into %USERPROFILE%\.m2
by default, whereas the default location for .jgo
is %HOME%\.jgo
.
This can be problematic in cases where %HOME%
points to e.g. a network drive location (as required for environments using shared desktops across the machines of an organization). If that is different from %USERPROFILE%
(which usually points to C:\Users\<username>
), errors such as the one below can occur when using jgo
via pyimagej
in a Jupyter notebook:
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'H:\\.m2\\repository\\com\\headius\\invokebinder\\1.2\\invokebinder-1.2.jar' -> 'H:\\.jgo\\net\\imglib\\imglib2-imglyb\\0.3.0+net.imagej-imagej-RELEASE+net.imglib-imglib2-imglyb-0.3.0+net.imglib-imglib2-imglyb-0.3.0\\invokebinder-1.2.jar'
@ctrueden can we change the default location of .jgo
to %USERPROFILE%\.jgo
as well? If not, we should at least fix the lookup for .m2
here:
Lines 79 to 81 in 20553f3
and change this:
Lines 169 to 170 in f1037d7
to something like this:
def m2_path():
return os.getenv("M2_REPO", os.path.join(os.environ['USERPROFILE'], ".m2").absolute())
A workaround would likely be to define an M2_HOME
environment variable, right?