내가하고있는 프로젝트는 직렬화를 위해 Google Protobuf를 사용해야하므로 코드를 작성하기 전에 많은 스텁을 생성해야한다. 내가 사용하는Maven exec 플러그인 인자에 와일드 카드 사용하기
명령 행 인수는 다음과 같습니다이 콘솔에서 잘 작동
protoc -I=src/proto --java_out=src/main/java src/proto/*.proto
.
이제이 수동 프로세스가 Maven 빌드의 일부가되도록 Maven exec 플러그인을 사용하려고합니다. 내가 사용하는 치어 부분이다 : 나는 와일드 카드를 제거하고를 지정하는 경우, 그것은 잘 작동 SRC/프로토
그러나/* 프로토 :.
<build>
<plugins>
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<version>1.3.2</version>
<executions>
<execution>
<id>Google Protobuf Stub Generation</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>protoc</executable>
<commandlineArgs>-I=src/proto --java_out=src/main/java src/proto/*.proto</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
오류라는 어떤 파일이없는 불평을 주어 특정 파일, 예.
<commandlineArgs>-I=src/proto --java_out=src/main/java src/proto/model.proto</commandlineArgs>
Maven이 처리 할 수있는 다른 방법이있을 수 있으므로 문제가되는 와일드 카드 *라고 생각합니다.
제 질문은 어떻게 Maven에서 "해당 폴더에 .proto 확장명을 가진 모든 파일"을 지정할 수 있습니까?
성공 했습니까? 도움이 더 필요하십니까? –
쉘 스크립트를 작성하고이 스크립트를 maven에서 호출하여이 문제를 해결할 수있었습니다. – Kevin
좋은 생각, 내 대답에 그 생각을해야합니다. –