How to create empty folders with maven archetype?

后端 未结 3 1399
伪装坚强ぢ
伪装坚强ぢ 2021-02-01 20:54

There is an existing issue for this approach, located on Codehaus JIRA #ARCHETYPE-57, but all instructions listed in this ticket failed for me. Also the blog post of marekdec Ho

3条回答
  •  甜味超标
    2021-02-01 21:31

    I did a quick test and... it worked for me. First, I created an archetype:

    $ mvn archetype:generate -B -DarchetypeArtifactId=maven-archetype-archetype \
                                -DgroupId=com.stackoverflow \
                                -DartifactId=Q2786966 \
                                -Dversion=1.0-SNAPSHOT \
    

    I renamed the archetype.xml into archetype-metadata.xml (the former is for Archetype 1.0.X, the later is for Archetype 2.0.X) so the project looks like:

    $ tree .
    .
    ├── pom.xml
    └── src
        └── main
            └── resources
                ├── archetype-resources
                │   ├── pom.xml
                │   └── src
                │       ├── main
                │       │   └── java
                │       │       └── App.java
                │       └── test
                │           └── java
                │               └── AppTest.java
                └── META-INF
                    └── maven
                        └── archetype-metadata.xml
    

    And archetype-metadata.xml contains:

    
    
      
        
          src/main/webapp
        
        
          src/main/java
          
            **/*.java
          
        
      
    
    

    Then I installed the archetype and used it to create a project:

    $ mvn install
    $ cd ~/tmp
    $ mvn archetype:generate -B -DarchetypeGroupId=com.stackoverflow \
                                -DarchetypeArtifactId=Q2786966 \
                                -DarchetypeVersion=1.0-SNAPSHOT \
                                -DgroupId=my.group \
                                -DartifactId=my-artifact \
                                -Dversion=1.0-SNAPSHOT
    

    And the resulting project looks like this:

    $ tree my-artifact/
    my-artifact/
    ├── pom.xml
    └── src
        └── main
            ├── java
            │   └── my-group
            │       └── App.java
            └── webapp
    

    The empty webapp directory is there.

提交回复
热议问题