How to solve the error `Could not resolve dependencies for project xxx`? - nebula-graph

Some packages not in central repository failed to download, error:
Could not resolve dependencies for project xxx

Please check the mirror part of Maven installation directory libexec/conf/settings.xml:
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
Check whether the value of mirrorOf is configured to *. If it is, change it to central or *,!SparkPackagesRepo,!bintray-streamnative-maven.
Reason: There are two dependency packages in Exchange's pom.xml that are not in Maven's central repository. pom.xml configures the repository address for these two dependencies. If the mirrorOf value for the mirror address configured in Maven is *, all dependencies will be downloaded from the Central repository, causing the download to fail.

Related

JCenter maven-metadata.xml doesn't have all module versions from Maven Central

In JCenter net.sourceforge.plantuml:plantuml module doesn't have version 1.2020.15 in maven-metadata.xml.
But, in Maven Central this module has this version listed in maven-metadata.xml.
However, I managed to successfully download net.sourceforge.plantuml:plantuml:1.2020.15 JAR from JCenter. Look like, in this case JCenter redirects me to repo.jfrog.org/artifactory/libs-release-bintray repository, which contains this version. And this artifactory repository also has this version listed in maven-metadata.xml.
JCenter documentations says that it's a mirror of Maven Central. The question is: shouldn't maven-metadata.xml be fully synchronized? It's critical for me, as I use a tool to update my dependencies to latest versions and this tool doesn't update plantuml to the latest version, because this versions isn't listed in maven-metadata.xml in JCenter.
The Synchronisation of packages in Bintray will happen from JCenter to Maven Central. So packages in Maven Central will not always be in JCenter when users request a package that does not exist on JCenter (hence, on-demand), Bintray will try to retrieve it from remote repositories and store it in JCenter.
Therefore, JCenter does not duplicate everything under Maven Central (to be reflected in JCenter). If the package is already linked to JCenter and once the latest version is uploaded to your Bintray account it will be mirrored in JCenter and then you can sync the latest version with Maven Central from your Bintray account.
Please refer the below link for more information on how Maven Central sync works with Bintray:
https://www.jfrog.com/confluence/display/BT/Syncing+with+Third-Party+Platforms

Moving artifacts from remote repositories to a local one

Preventing pulling in new dependencies from one build to the next, due to the way 3rd parties could define their dependencies.
Currently I'm utilizing the Remote Repositories in JFrog Artifact which reduces the downloads from public repos.
In my build scripts I can hard code the versions of the 3rd party modules/libraries I want to pull in. But if one of the dependencies hasn't it could pull in a new version on the next build.
So was curious if it there was a feature within JFrog Artifactory to copy an artifact and it's dependency from a remote repo into a local repo ?
There is a concept of virtual repo's in artifacory that is a combination of remote and loca repo.
local repo --> mostly used for custom build/artifacts/packages
remote repo --> points to the repo server of the technology configured.
For eg. with npm virtual repo.
npm local --> custom packages
npm remote --> https://www.npmjs.com/~npmre

how to install sbt without internet connection

I am trying to install sbt on our RedHat Linux server (RHEL6.8). The server doesn't have internet connection.
I downloaded sbt-1.0.x.zip from github but I don't see installation instruction. In README.md file, it points to http://www.scala-sbt.org/release/docs/Getting-Started/Setup which tells me to use yum command. But that would require Internet connection.
Can anyone help?
Thank you.
sbt 0.13.15 supports offline installation with a preloaded local repo:
sbt 0.13.15 adds two new repositories called “local-preloaded-ivy”
and “local-preloaded” that point to ~/.sbt/preloaded/.
The purpose for the repositories is to preload them with
sbt artifacts during the initial installation, instead of resolving
from the remote repository on the first run.
This enables installation of sbt without network connection.
To enable resolving of your own dependencies, it should be sufficient to add them to the preloaded directory.
You need to download the RPM from bintray. See the instructions here:
Source: http://www.scala-sbt.org/0.13/docs/Installing-sbt-on-Linux.html
Depending on what dependencies are unfulfilled, you may need to download additional RPM files that sbt depends on.

sbt unresolved dependency publishing to nexus

I publish my project to nexus/sonatype staging repo. Then I try to pull that dependency with sbt update on another project.
I get an unresolved dependency error. sbt shows me all the directories it tried, including the path for the staging repo I expected to succeed.
I initially thought it was a deployment/delay thing with nexus (waiting for the package to propagate) but I can reliably hit the same pom file link that sbt says failed from a browsers with no problems (cut 'n paste the precise URL).
Does sbt have some kind of resolution cache not cleared by a clean?
If the pom can be downloaded from Nexus then the issue isn't with Nexus, it is with SBT. You might try explicitly running update from SBT to clear it's cache.

Artifactory remote repos and Terracota

I want to setup my maven settings.xml file to download all the external dependencies from Artifactory cache instead of download them directly from any of the public repositories like repo1, repo2 or Jboss. I followed the instructions at http://wiki.jfrog.org/confluence/display/RTF/Configuring+Artifacts+Resolution at but I'm stuck with an error with the terracota library, the error is:
Could not find artifact net.sf.ehcache:ehcache-terracotta:jar:2.5.0 in remote-repos
I tried adding terracota repository at the remote repositories section but this didn't worked either.
Please advice.
I can think of a couple of possibilities:
Your remote-repos cache isn't configured to point to the remote repository that contains the Terracotta files
Your build isn't using the correct organization or module name when resolving the dependency on Terracotta.
Could you add some info to your question detailing where exactly you are seeing the error message, and whether you can browse to ehcache-terracotta version 2.5.0 in Artifactory ?
Please add the terracotta repository to your artifactory
This is the URL= http://www.terracotta.org/download/reflector/releases
Don't worry if the test of the repo doesn't work...
The last step is to go to Edit Virtual Repository and add the new terracotta repo to the virtual repository called "Remote Repo".

Resources