2017-09-12 48 views
0

我想創建一個自己的原型,它使用以下原型-metadata.xml中:換人只能部分地在我的Maven原型

<?xml version="1.0" encoding="UTF-8"?> 
<archetype-descriptor name="basic"> 
    <fileSets> 
    <fileSet filtered="true"> 
     <directory>src/main/java/__packageInPathFormat__</directory> 
     <includes> 
     <include>**/*.java</include> 
     </includes> 
    </fileSet> 
    </fileSets> 
</archetype-descriptor> 

原型的pom.xml的是這樣的:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>my.test</groupId> 
    <artifactId>my-archetype</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <name>Archetype - my-archetype</name> 

    <properties> 
    <swaggerApiName>GreatApiName</swaggerApiName> 
    </properties> 
</project> 

有一個JaxRsActivator類看起來是這樣的:

package ${package}; 

// many imports... 

@ApplicationPath("res") 
@SwaggerDefinition(
    tags = {@Tag(name = "${swaggerApiName}", 
       description = "${swaggerApiDescription}")}) 
public class JaxRsActivator extends Application { 
} 

我的目標是替換名稱和動態描述。 根據這個答案(https://stackoverflow.com/a/25523766/5444681)它應該工作。但它只適用於${package}

我在做什麼錯?

回答

0

出於某種原因,它現在與這個原型-metadata.xml中:

<?xml version="1.0" encoding="UTF-8"?> 
<archetype-descriptor name="basic"> 
    <requiredProperties> 
    <requiredProperty key="swaggerApiName"/> 

    <requiredProperty key="swaggerApiDescription"> 
     <defaultValue></defaultValue> 
    </requiredProperty> 
    </requiredProperties> 

    <fileSets> 
    <fileSet filtered="true"> 
     <directory>src/main/java/__packageInPathFormat__</directory> 
     <includes> 
     <include>**/*.java</include> 
     </includes> 
    </fileSet> 
    </fileSets> 
</archetype-descriptor> 

我不知道爲什麼它不工作之前 - 因爲這是第一種方法我試過了。