Pergunta

Sei que essa pergunta é exatamente a mesma encontrada aqui.No entanto, visto que essa pergunta tem 1,5 anos (ou mais), gostaria de revisitá-la.Como adicionar dependências locais usando o leiningen?Certamente esse recurso já deve existir?

Foi útil?

Solução

Crie um Repositório Maven privado e, em seguida, adicioneo seguinte para o seu project.clj

:repositories {"local" ~(str (.toURI (java.io.File. "your_local_repository")))}

Outras dicas

Se os jars forem baseados em seus próprios projetos, você pode usar lein install para colocá-los em seu .m2 local ou usar o recurso checkout-dependencies.

Você também pode usar o recurso extra-classpaths, etc.

Descobri que a solução mais fácil (embora um tanto hacky) é fazer o seguinte:

Para um projeto existente que você está usando como dependência:

  1. Em seu projeto local que possui a dependência que você deseja modificar, certifique-se de executar lein deps
  2. Clone o repo desta dependência para que possa modificá-lo localmente (obviamente, certifique-se de usar a mesma tag da versão especificada no arquivo project.clj)
  3. Execute lein uberjar neste diretório de dependência (onde reside o arquivo project.clj relevante)
  4. Copie o jar autônomo gerado no destino / para o caminho / arquivo exato dos seus arquivos maven locais ... (algo como: ~ / .m2 / repository / project /.../ file.jar); Certifique-se de fazer backup do arquivo jar original para que possa restaurá-lo mais tarde, se for desejável

Para desenvolvimento do seu próprio projeto:

  1. No projeto ou plug-in que você está desenvolvendo, basta executar lein install
  2. Descubra onde está o seu repositório maven local (veja acima um exemplo de caminho)
  3. Insira as informações de dependência em seu projeto de teste como faria para qualquer outro projeto leiningen

Novamente, este é um hack rápido e talvez não seja a maneira como você faria para fazer um desenvolvimento local sério, mas achei fácil para o que eu queria. Verifique lein help tutorial para muito mais informações

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top