Mule munit-runner artefact nit downloaded - maven

I am experiencing an issue with downloading the munit-runner artefact through maven. For some reason the jar is not downloaded. Not for 1.3.2, 1.3.3 or 1.3.4
I have cleaned the repository cash and rebuild but nothing seems to help.
The POM file looks according to the MuleSoft documentation.
Te specific error is:
Description Resource Path Location Type
Project 'xxx' is missing required library: '/home/xxxx/.m2/repository/com/mulesoft/munit/munit-runner/1.3.3-SNAPSHOT/munit-runner-1.3.3-SNAPSHOT.jar' xxx Build path Build Path Problem

I think the correct version to use for MUNIT is this one bellow:
<munit.version>1.3.1</munit.version>
<mule.munit.support.version>3.8.3</mule.munit.support.version>

Try the below version.
<munit.version>1.2.1</munit.version>
<mule.munit.support.version>3.7.4</mule.munit.support.version>
<dependency>
<groupId>com.mulesoft.munit</groupId>
<artifactId>munit-runner</artifactId>
<version>${munit.version}</version>
<scope>test</scope>
</dependency>`
if still you are facing the issue then copy the jar from your m2 repository if it is already downloaded otherwise download it from online and manually add it to the build path.

For future references you can find the latests versions of MUnit listed here:
https://docs.mulesoft.com/release-notes/munit-release-notes
Also, while it's cool for you to play with SNAPSHOT versions please notice that they are just SNAPSHOT thus not stable.
FYI our SNAPSHOT repositories are periodically clean so you may be pointing to an artifact that's not longer published

Related

How to read this google components dependencies in this pom?

I am looking at jar hell right now between selenium and a google cloud jar. selenium is a bit out of date but in trying to see the versions in the pom file found here, I see no versions...
https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.17.1/
How to tell what the version of guava that it will use is?
I saw something like this but not sure how to run it
mvn -P help:effective-pom -Dverbose
I use gradle so not sure how to point that at the remote artifact. I can use gradle to see what version it's bringing in, but what I don't get is how there is no version in the pom file and where gradle is getting it from. I am praying it's not just bringing in the latest version as that would be really really bad and create an unreproducible build over time where if we tag a version of our release, later when we build, it would bring in the wrong jars and could break. Where is the version coming from for guava there?
thanks,
Dean
The POM defines a parent POM, which is
https://repo1.maven.org/maven2/com/google/auth/google-auth-library-parent/0.17.1/google-auth-library-parent-0.17.1.pom
Here you find the version of guava as a property, which is then used in the <dependencyManagement>.

AEM Mocks missing artifact for latest version

I have added the latest version of AEM Mocks (2.7.2) as a Maven dependency in my AEM project. When I try to build my project, I get an error saying that this artifact cannot be found: com.day.commons:day-commons-gfx:jar:2.1.28. So I looked online, found it and added it as a dependency. But now I get the same error when trying to build. Does this artifact still exist? When trying various recent versions of AEM Mocks, I found that they all depend on this missing artifact.
For now, I downgraded to version 2.3.0, which works fine without that artifact but I would like to use the most recent version if possible.
Can anyone please help? Thanks!
This artifact is defined as a workaround, it is explained here in comment:
https://github.com/wcm-io/wcm-io-testing/blob/develop/aem-mock/core/pom.xml#L254:
Workaround for AEM 6.5: The new uber-jar does no longer contain the package com.day.imageio.plugins
It works without any issues for me, so I would check if you have correctly configured Maven repositories. To do it, in your Maven project root type:
mvn help:evaluate
and then:
${project.repositories}
It should list your project effective repositories. Ensure that there is Central Repository (https://repo.maven.apache.org/maven2/) listed. If it is there, then maybe your corporate network cuts requests to external repositories or it was temporarily down.

Downloading orai18n-mapping.jar from Oracle Maven

I am following this guide to download ojdbc8.jar in my gradle build. But after deployment, I am having a java.lang.NoClassDefFoundError: oracle/i18n/util/LocaleMapper which seems to be from orai18n-mapping.jar.
Does anyone know if this jar is available in Oracle Maven? The alternative is to download the Oracle Server and get it from the jlib folder but we want to avoid this as much as possible.
I had the same issue. I looked at many sites and there is no Maven dependency for that.
My solution was to download JDev 11.2 (you can download the Java Edition, it is a 112MB zip file, not need to install).
Jar location: ../modules/oracle.nlsrtl_11.1.0/orai18n-mapping.jar
JDev:
http://www.oracle.com/technetwork/developer-tools/jdev/downloads/jdev11124download-1970562.html
I uploaded jar to Google Drive for you.
Here is orai18n-mapping.jar:
https://drive.google.com/open?id=1g3C-rEh0iTM6wxtivKueeVAumm04gmV1
By the looks you are using the maven.oracle.com repository. This installs a bunch of unnecessary stuff include the following. The xmlparserv2 will need to be exclude from being downloaded.
<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>xmlparserv2</artifactId>
<version>12.1.0.2</version>
</dependency>
If you downloaded the "ojdbc8" from the website it does not include this file, its not even listed and therefore should not be needed.

Is there a way to say maven not to use timestamp for dependency resolution

I am using MAVEN3 and I have a project XXX with version 1.0.0-SNAPSHOT and it is being uploaded to artifactory.I can find the jar uploaded to artifactory as XXX-1.0.0-SNAPSHOT.jar.
Another project YYY uses XXX-1.0.0-SNAPSHOT.jar as its dependency and it is declared as
<dependency>
<groupId>...<...>
<arti...>XXX</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
When I try to build YYY maven is trying to download XXX jar file from artifactory and it fails to find.
I get the following error
Could not resolve dependencies for project com......YYY:jar:1.0.0-SNAPSHOT: Could not find artifact com....XXX:jar:1.0.0-20130710.163046-1 in repo1 (https://artifactory.xxx.com/artifactory/REPO1)
I can see that it tries to download a jar with specific timestamp.How can I tell maven not to use timestamp to download my dependency.
Any help on this is appreciated.
Support for non-unique snapshots was removed in Maven 3 (see related JIRA issue).
I found an Artifactory document mentioning one way to handle this, near the bottom of the page.
My team has noticed problems if developers publishing snapshots to the same group/artifact in the snapshot repository are not all using the same Maven version. Either everyone needs to stick with Maven 2, or everyone uses Maven 3. Mixing doesn't work well.

Maven repository for PayPal java API

I migrate a eclipse based project to maven based one.
<dependency>
<groupId>com.paypal.sdk</groupId>
<artifactId>paypal-base</artifactId>
<version>1.4.4</version>
</dependency>
I need version 1.4.4 or later (because the original jar file we were using was version 1.4.4). But in public repositories I find only version 1.0.0.
EDIT: We solved this problem while ago by set-uping private repo. Seems that PayPal have finally uploaded their API jars in the official maven repo.
The Maven way of solving this kind of problem is to set up your own Maven repository (e.g. Sonatype Nexus). Then you can upload the artifacts you need.
The "quick and dirty" solution would be to copy the required Jar file into a folder and include this file as dependency by using the scope "system" (see Maven documentation)

Resources