내 Maven 플러그인에서 Maven 빌드 타임 스탬프에 액세스하려고합니다. 따라서 특수 변수 maven.build.timestamp
을 사용하려고합니다.
maven.build.timestamp
빌드 시작을 나타내는 타임 스탬프입니다. 는Parameter#defaultValue
와 메이븐 2.1.0-M1
이후 :
파라미터 기본값 결국 분사시에 해석 될
${...}
식 함유 : PluginParameterExpressionEvaluator 참조.
그러나 항상 값은 null
입니다. 나는 Date
타입과 String
타입으로 시도했다.
자바 코드 :
@Mojo(name = "test", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
public class TestMojo extends AbstractMojo {
@Parameter(defaultValue = "${maven.build.timestamp}", readonly = true)
private Date timestampDate;
@Parameter(defaultValue = "${maven.build.timestamp}", readonly = true)
private String timestampString;
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
getLog().error("timestampDate: " + timestampDate);
getLog().error("timestampString: " + timestampString);
}
}
플러그인 구성 :
<plugin>
<groupId>com.mycompany</groupId>
<artifactId>test-maven-plugin</artifactId>
<version>0.0.12</version>
</plugin>
로그 :
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building test 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- test-maven-plugin:0.0.12:test (default-cli) @ test ---
[ERROR] timestampDate: null
[ERROR] timestampString: null
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.799 s
[INFO] Finished at: 2017-04-21T14:37:20+02:00
[INFO] Final Memory: 8M/223M
[INFO] ------------------------------------------------------------------------
환경 : 8
- 자바 왜 내 사용자 지정 메이븐 플러그인에 특별한 변수가 해결되지
메이븐 3.3.3 임베디드?