使用自定义属性生成Maven原型
这里的新手问题是,我有一个maven原型,我正在使用.properties文件从java项目创建它。我希望能够为原型中的变量生成动态值,但我不知道如何做到这一点。目前我正在跟踪,但我似乎无法重现他们所做的事情。特别是在指南的底部,它们用新值替换字符串值 以下是我正在使用的属性文件:使用自定义属性生成Maven原型,maven,maven-3,maven-archetype,Maven,Maven 3,Maven Archetype,这里的新手问题是,我有一个maven原型,我正在使用.properties文件从java项目创建它。我希望能够为原型中的变量生成动态值,但我不知道如何做到这一点。目前我正在跟踪,但我似乎无法重现他们所做的事情。特别是在指南的底部,它们用新值替换字符串值 以下是我正在使用的属性文件: archetype.groupId=com.mycompany archetype.artifactId=sample-project archetype.version=1.0 archetype.languag
archetype.groupId=com.mycompany
archetype.artifactId=sample-project
archetype.version=1.0
archetype.languages=java
myParam=something
我检查了我的archetype-metadata.xml文件,尝试加载的属性在其中:
<requiredProperty key="myParam">
<defaultValue>new value here</defaultValue>
</requiredProperty>
这里有新的价值
但是,我的所有类都没有加载新值。我是否缺少一个步骤来替换参数的默认值,并用prop文件中指定的新值替换它
提前谢谢 您可能是对的,在创建原型之后和创建项目之前,
App.java
或其他类的外观没有任何片段
假设您不知道如何使用自定义属性,并且最终的App.java
类需要如下所示(只是一个示例):
您粘贴的archetype.properties
文件如下所示,您的原型App.java
类(在安装archetype之前!)需要如下所示:
package ${archetype.groupId};
/**
* Hello world!
*
*/
public class ${archetype.artifactId}
{
String value = "${myParam}";
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
如果您准备了这样的文件,您可以轻松地mvn安装
这个原型
然后,如果您创建项目,您将被要求确认属性文件中的值。就这些。应应用archetype.properties中的值
package ${archetype.groupId};
/**
* Hello world!
*
*/
public class ${archetype.artifactId}
{
String value = "${myParam}";
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}