How to configure custom maven project structure

I know that typically maven structure is like this:

   - main
   - web
    - WEB-INF

However, I have a project which has the following structure

  • How to let Jenkins git commit only if there are changes?
  • git submodules as part of a build
  • Dynamic version from git with go get
  • 404 error when building Git project in TFS2013
  • How do I configure the SVN HTTP proxy from the command line?
  • Queue build for non-default branch with git and VS
  • src
      - main
      - WEB-INF

    The latter of the two above currently does not use maven. I’ve started using maven for this project locally by making the structure conform to the maven standard. However, I now want to automatically build this project from jenkins by getting it out of the source control (svn). So I would like to just add a pom.xml which is aware of the fact that web isn’t inside src

    Is this possible to do with maven?

  • groovy.lang.MissingPropertyException: No such property: manager for class: Script1
  • How to simultaneously deploy Node.js web app on multiple servers with Jenkins?
  • Jenkins pipeline - file not found
  • Disable automatic code rearrangement in Intellij IDEA
  • Jenkins configuration and security issues
  • Python script to generate JUnit report from another testing result
  • 2 Solutions collect form web for “How to configure custom maven project structure”

    You can configure the maven-war-plugin to use another warSourceDirectory but as Jeff Storey explains in his answer it is really not recommended.

    This is how you would do it:


    One of several problems is for example that the maven-jetty-plugin will not run out-of-the-box. It will by default look in src/main/webapp so that has to be configured.

    You might not use the maven-jetty-plugin but you get the idea.

    Using the maven war plugin properties, you can set the warSourceDirectory property (I’m not sure exactly what problems you’re having, so this may or may not solve your specific problem).

    However, maven is very opinionated and I would strongly recommend using the expected maven structure. Other plugins may give you unexpected problems down the road, and maven life is generally a lot easier when you follow their conventions.

    Git Baby is a git and github fan, let's start git clone.