How does Maven set application placeholder #spring.profiles.active# - jhipster

JHipster build question:
I'm trying to figure out how the JHipster Maven build sets the #spring.profiles.active# placeholder in the application.yaml file.
Is there some Maven task that does a search and replace of #spring.profiles.active# based on my active Maven profile?

This is done by the maven-resources-plugin configured to use # delimiter, check your project's pom.xml

Related

Unable to pass user.dir parameter to code using pom.xml and mvn cmdline

Im a newbie to azure and maven. I have created a build pipeline and it is dropping artifacts to Build.ArtifactDirectory. In CD pipeline, there is a java class which uses System.getProperty("user.dir"). But this path is taking wrongly and it throws ClassNotFoundException.
Reason for this:
Actual artifacts in cd after drop is present in path: C:/agent1/1/a/buildpipeline/drop/s/TestCode/src/main/read.java
user.dir : is searching in path: C:/agent1/1/a/ in which the code is not available.
Fix the issue:
To fix this, i need to manually pass the user.dir value through maven commandline that is -Duser.dir="pathname". But this is not working
I can change the artifact drop path from build pipeline and include a task of download artifact in release pipeline - Is not working because, I need to add a maven task to integrate pom.xml and it is automatically showing the path C:/agent1/1/a/buildpipeline/drop/s/TestCode/pom.xml.
Please help me with a solution

How can I deploy spark artifacts to a custom maven repository?

I have a fork of apache spark on github that I build from.
I have a maven repository that our company uses to manage dependencies.
Suppose the url of this maven repository is https://xyz.abc.com/maven.
If I run a command like
./build/mvn -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.5 -DskipTests install
Then all the jars get deployed to my local maven repository, but what I would really like is for them to be deployed to the repository mentioned above.
How can I do that? Do I need to modify certain files or set environment variables? Do I need to add a credential file somewhere?
I also looked into doing it with sbt, but I could not figure out how to do it with that either.
You want to publish artifact build by maven to remote repository (https://xyz.abc.com/maven).
Take a look at this guide for required configuration.

Build and include JSF taglib as jar in a Dynamic Web Project using Maven

I am working on a JSF taglib. To test it I compile it to a JAR as described here and add it manually to a Dynamic Web Project (In the WEB-INF/lib directory).
I know that this step can be automated, but I do not know how. Can anybody explain how to copy a generated jar to a second project in Eclipse?
Thanks in advance!
quite some steps to do :)
add a pom.xml into your project and follow the maven directory structure. use packaging "jar" for the taglib project. Lets assume you use groupId=com.company.taglib artifactId=company-taglib version=1.0.0-SNAPSHOT
if you do a mvn install on this project it will copy the jar into your local maven repository (usually found at ~/.m2/ - now maven can resolve the dependency on your local machine
add a pom.xml to your webproject, use packaging "war" and add the taglib project as a dependency (within <dependencies> in pom.xml).
<dependency>
<groupId>com.company.taglib</groupId>
<artifactId>company-taglib</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
Maven will resolve this dependency from your local repository. In Eclipse using the m2e Plugin it will resolve the project directly.
To "publish" the taglib.jar you need an infrastructure to share artifacts. Usually using a repository proxy (Sonatype Nexus or Artifactory). You can also use a network folder using the file:// protocol for quick startup.
In the pom.xml you need to add the <distributionManagement> section (in the taglib pom.xml) to specify the folder / proxy the artifacts are uploaded to. A mvn deploy will then build and copy the jar file for you.
Other developers need to add that location as repository in settings.xml (I dont recommend doing that in pom.xml) or if you setup a maven proxy configure a mirrorOf in settings.xml
There are archteypes available (project templates) that will help you creating initial project structures: http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
see also: http://maven.apache.org/guides/getting-started/index.html

Adding Jar dependency in gradle custom plugin

Assuming all my Gradle plugin user going to have a MYAPP_HOME sys variable set in there system
in MYAPP_HOME page i have a jar at $MYAPP_HOME/lib/mylib.jar
i am writing my own plugin....
I can find the MYAPP_HOME variable is set and fine the jar exists..
How can i add this jar dependency in my custom gradle plugin... ? when user runs my plugin say compileMyplugin my custom gradle plugin need to set the $MYAPP_HOME/lib/mylib.jar jar as compiler dependent
How to do this any one help me ?
The plugin just needs to do:
project.dependencies {
compile project.files("${System.getenv("MYAPP_HOME")}/lib/mylib.jar"))
}
PS: In general, I wouldn't recommend relying on an environment variable and the availability of a Jar on the local file system. Instead, I'd publish the Jar to an artifact repository or put it under source control.

How host local repository in pom.xml

When ever i tried to Goals >> Compile pom.xml, I am getting the following error.
An internal error was encountered invoking the maven goal: Please check the exception details.
org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException: Missing:
1) org.apache.httpcomponents:httpcore:jar:4.1.2
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=org.apache.httpcomponents -DartifactId=httpcore -Dversion=4.1.2 -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=org.apache.httpcomponents -DartifactId=httpcore -Dversion=4.1.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) org.apache.httpcomponents:httpcore:jar:4.1.2
1 required artifacts are missing.
As per above error it suggests, Alternatively, if you host your own repository you can deploy the file there.
how can i provide a local repository to pom.xml.
This article explains what you require. Quoting from it:
A maven repository is just a directory somewhere, and that’s about it. In order to use it there are very few steps you need to do.
Choose a directory
Make sure its accessible via some network protocol to everyone who needs it (i.e. serve it via http or ftp or something.
Put the libraries you need in the directory, in a specific format.
Set up your maven builds to read from the repository
(optional) set up your maven builds to deploy your repository
To put existing libraries into the repository, use the maven deploy command.
To set up your build to read from the repository add the following xml to your pom.xml file:
servername-download
description
https://host/path
A detailed article for complete understanding of Maven repositories
Are you sure your Maven setup works? The artifact you're looking for is in the public Maven repository:
http://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.1.2/
It should be found just like any other publicly available artifact. Please check the spelling of the artifact and group in your pom file to make sure that you don't have a typo.
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.1.2</version>
</dependency>
What does Maven print before it fails? It usually says where it's checking for the artifact - does the URL I posted above show up?
Do you see similar issues with other artifacts?
You shouldn't have to host this artifact yourself since it's publicly available. It looks like you're running Maven from an IDE - can you try to run it from command line to see if you get the same error there?
To host local repository in pom.xml we have to set up maven properly.
we need to modify settings.xml and provide the local repository path in maven packages and then used it with IDE. So now on words if JAR is not available in my local repository then and then only maven tries to search in its maven repository.
please follow below blog to configure maven properly.
http://chiragsdiary.blogspot.in/2013/02/cxf-webservice-example-step-by-step.html

Resources