It seems a bug that additional configured repo doesn't work, could you
create a ticket for it ?


Lior Chaga <lio...@taboola.com> 于2021年8月11日周三 下午1:50写道:

> Default central repo doesn't fail, but behind VPN the zeppelin cannot
> access central.
> With zeppelin 0.8.2 we just configured an additional artifactory, and it
> worked. For some reason (not sure why, as it uses the same
> maven-resolver-api version, and I didn't notice any related code changes),
> with zeppelin master branch the additional configured repo is not loaded
> properly (protocol not resolved). So by just replacing the default central
> repo with our artifactory, everything works fine.
>
> On Wed, Aug 11, 2021 at 8:40 AM Jeff Zhang <zjf...@gmail.com> wrote:
>
>> Hi Lior,
>>
>> Thanks for the update, not sure how default central repo fails. Is it due
>> to you unable to access the default maven repo ?
>>
>> Lior Chaga <lio...@taboola.com> 于2021年8月11日周三 下午12:50写道:
>>
>>> I found a non-patch solution, just setting
>>> "zeppelin.interpreter.dep.mvnRepo" to desired repo (replacing default
>>> central repo)
>>> But IMO there's still a bug (if someone simply cannot replace default
>>> repo and have to add one)
>>>
>>> On Tue, Aug 10, 2021 at 10:29 AM Lior Chaga <lio...@taboola.com> wrote:
>>>
>>>> I'm facing an issue loading repositories from the settings file.
>>>> Zeppelin uses gson to load the saved repositories, and
>>>> as RemoteRepository doesn't have a setter for protocol, it instantiates a
>>>> RemoteRepository with null protocol (not going through the Builder which
>>>> resolves the protocol from the url), resulting in not being able to fetch
>>>> dependencies.
>>>>
>>>> For now, my workaround is to patch InterpreterSettingManager, by
>>>> cloning the RemoteRepository and forcing it going through the Builder to
>>>> resolve protocol (see below).
>>>> Wonder if there's a patchless solution. couldn't find an open issue.
>>>> With zeppelin 0.8.2 this doesn't happen...
>>>>
>>>> Lior
>>>>
>>>> for (RemoteRepository repo : infoSaving.interpreterRepositories) {
>>>>   if (!dependencyResolver.getRepos().contains(repo)) {
>>>>     RemoteRepository clonedRepo = new 
>>>> RemoteRepository.Builder(repo.getId(), repo.getContentType(), 
>>>> repo.getUrl()).build();
>>>>     this.interpreterRepositories.add(clonedRepo);
>>>>   }
>>>> }
>>>>
>>>>
>>
>> --
>> Best Regards
>>
>> Jeff Zhang
>>
>

-- 
Best Regards

Jeff Zhang

Reply via email to