플러그인을 사용하여 Maven 프로젝트에 계산 된 속성을 추가하려면 어떻게해야합니까?
-
05-07-2019 - |
문제
기계 IP 주소를 잡기 위해 Maven 플러그인을 작성했으며 아키타 타입 생성이 발생할 때 IP 주소가 파일 ($ {iPaddress}를 통해)으로 필터링되도록 속성을 만들 수 있기를 원합니다.
나는 이것을하는 방법을 찾을 수 없었습니다. 아는 사람 있나요?
다른 팁
org.codehaus.groovy.maven 플러그인을 사용하여 IP를 가져 와서 소품으로 설정할 수 있습니다. 내 예에서는 IP를 속성 로컬 립으로 검색했으며 다음 단계에서 다른 Maven 소품과 같이 $ {localip}과 같이 사용할 수 있습니다.
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>get-local-ip</id>
<phase>initialize</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<classpath>
<element>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</element>
</classpath>
<source>
java.net.InetAddress address=InetAddress.getByName("${env.COMPUTERNAME}");
project.properties.localIP=address.getHostAddress();
</source>
</configuration>
</execution>
</executions>
</plugin>
문제는 속성이 처리됩니다 ~ 전에 당신은 빌드를 실행하고 덮어 쓰일 수 없습니다 ~ 동안 빌드. 적어도 그것은 내 경험입니다. 나는 틀린 것으로 판명되고 심지어 부정적인 점을 받아들이고 싶어합니다. :) 따라서 하나의 가능성 - 프로그램을 실행하고 시스템 속성을 채우고 실행하는 스크립트를 만드십시오. mvn build
직후 (나는 그것이 못 생겼다는 것을 안다)
제휴하지 않습니다 StackOverflow