플러그인을 사용하여 Maven 프로젝트에 계산 된 속성을 추가하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/1610379

문제

기계 IP 주소를 잡기 위해 Maven 플러그인을 작성했으며 아키타 타입 생성이 발생할 때 IP 주소가 파일 ($ {iPaddress}를 통해)으로 필터링되도록 속성을 만들 수 있기를 원합니다.

나는 이것을하는 방법을 찾을 수 없었습니다. 아는 사람 있나요?

도움이 되었습니까?

해결책

그만큼 특성-매번-플루인 파일에서 속성을 읽고 마치 인라인으로 정의 된 것처럼 빌드를 사용할 수있게합니다.

플러그인을 파일에 출력 한 다음 Properties 플러그인을 사용하여 읽거나 꼬집을 수 있습니다. 원천 Properties 플러그인에서 자신의 플러그인에 속성을 설정합니다.

기본적으로 MavenProject에서 속성을 얻고 자신의 항목/IE를 추가합니다.

다른 팁

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 직후 (나는 그것이 못 생겼다는 것을 안다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top