While releasing a project I am getting below error in jenkins. I have multimodule project where one directory contains 5 projects and each project has its own pom.xml. I have created a 6th project to create EAR ( using 5 projects binaries) and this ear needs to be checked in repository.
The goal you specified requires a project to execute but there is no POM in this directory (/dev/shm/jenkinsworkspaces/Project_EAR_Build/workspace/Project_EAR_Build/target/checkout.). Please verify you invoked Maven from the correct directory.
I have specify goal in jenkins job as -Dresume=false release:prepare release:perform.
What should I mention in goal so that maven will refer checkout/EAR_Project directory to locate
pom.xml instead of checkout directory ?
Related
I have jenkins installed on a remote machine. How can I point my POM location in Jenkins. If I give the POM.xml location as C:\Automation\pom.xml I am getting the error no such file exists.
Started by user anonymous
Building in workspace C:\Users\Administrator\.jenkins\workspace\RegressionTestJob
Parsing POMs
ERROR: No such file C:\Automation\pom.xml
Perhaps you need to specify the correct POM file path in the project configuration?
TestNG Reports Processing: START
Looking for TestNG results report in workspace using pattern: **/testng-results.xml
Did not find any matching files.
Finished: FAILURE
Your pom should be in your workspace, like how you would build your project in an IDE e.g. eclipse and when you build your project Jenkins will find the pom on its own in the workspace and build the project
Incase you still wish to specify the location you can use the -f option
mvn -f PomFile.xml
Hope it helps :)
I have a question related to maven - generating a war. Please see below.
- In one of my project (war), I am using a 3rd party jar (-SNAPSHOT version) whose entry I have made into my project pom.xml. So far it gets bundled correctly into the project war.
- But we encountered one issue in one of the java file inside this jar. For which my developer took the source code for the jar and modified-compiled and updated the jar file into local maven_repo directory.
- But whenever I build the project using maven clean:install command, my updated jar gets deleted from my local maven-repo dir and a fresh copy is downloaded from remote maven repo (where the actual 3rd party jar resides).
Can someone please help on this how can I manage so that maven use my modified jar and does not replace it with old jar during build process.
I am using maven-3.2.5.
you can run maven offline by running with the "-o" argument.
Example:
mvn clean install -o
Keep in mind that this will affect all your other dependencies and your need to have all the dependencies in your local .m2 repository.
Here is another thread taking up the issue of running maven offline:
How do I configure Maven for offline development?
I created a project and pushed it in the git.Once I configured it in Jenkins using JDK 7 and Maven 3.0. Now when I try to build it using Jenkins it throws me an error like below.
ERROR: No such file
/Users/ios/jenkins/workspace/ACADEM-4705-Test-Jenkins-Allegretto/pom.xml
Note: I am pushing the project as a whole into git
where did your pom file exists in workspace ?
If your pom.xml file exists in the root folder of workspace , then there is no need for you to mention the path of pom.xml file. in Maven 3 step , leave it empty.
If your pom.xml file exists inside the root folder , then the easy way to access that would be
$workspace/subfolder/pom.xml
Please note you will commonly face this issue when "/" is provided in stead of "\" in different OS (windows,linux) or vice versa.
I am facing a weird issue here. In my jenkins job I've configured it to pull my project's source code from artifacts. So I get 2 directories in workspace called classes and resources. Now some of my tests are failing with FileNotFoundException, stating ABCD.js not found in the given path. When I check this path in the jenkins workspace, this file exists there.
I am not sure about the problem. However, there are following tasks which I've added in the build steps.
1. Download the jar from the artifacts.
2. Unjar the downloaded jar in workspace.
3. Run the tests in the workspace.
I have a standard multi-module maven project and I'm able to build it locally using mvn clean packagebut when I try to deploy it using $ mvn cf:update I get the following error:
[ERROR] Failed to execute goal org.cloudfoundry:cf-maven-plugin:1.0.0.M2:update (default-cli) on project <myprojectname>: An exception was caught while executing Mojo. The file or directory does not exist at '<my project directory>/target/<myprojectname>-SNAPSHOT.war'. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.cloudfoundry:cf-maven-plugin:1.0.0.M2:update
The problem is that I can't build a .war file for my parent .pom because it needs to be packaged as a pom file, or else maven will reject it. Therefore, I cannot supply the .war file cloudfoundry is looking for. Is there a setting I'm missing?
I'm currently looking into the Maven assembly plugin, but it seems like there should be a more straightforward way to push a multi-module maven project using the maven cloud foundry plugin.
Seems like your parent root either has a single parent pom file or if its a module, it only has a pom inside the target. You are not creating war file inside the target root of your project (if target even exist there). Your application is most likely having each module create their own war files inside their target folders.
At this time I don't think the cf maven plugin would support what you are looking for. could be a enhancement to add a parameter with the module that contains the war file but that is something that needs to be done!
https://github.com/cloudfoundry/vcap-java-client/blob/master/cloudfoundry-maven-plugin/src/main/java/org/cloudfoundry/maven/Update.java
I would recommend you to look into the assembly plugin (which you are already).
Let us know how it goes!