我使用maven的具組件插件來構建一個可執行的,整體的罐子依賴Maven的配置文件名稱。我還使用資源過濾來設置一些自定義的,特定車道(開發,舞臺,產品等)屬性。包括內置(與依賴)組裝插件jar
如何使罐子的finalName包括車道名稱(DEV,舞臺,督促等)?
我想下面的命令MVN導致罐子,看起來像這樣:
- MVN全新安裝-P DEV - > WS-客戶DEV.jar
- MVN全新安裝-P STAGE - > WS-客戶STAGE.jar
- MVN全新安裝-P PROD - > WS-客戶PROD.jar
是否有一個Maven屬性的地方我都找不到?如果可能的話,我想避免使用冗餘命令行參數(即 - 'mvn clean install -P DEV -Dlane = DEV')。
這裏是我的組裝插件配置:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.2</version>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>ws-client</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>Example</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
神奇,工作精美! – chadmaughan
只有在當前運行中存儲在目標文件夾中的工件上,finalName纔會對部署的工件起作用。 – khmarbaise
@khmarbaise - 正確。對於這個特定的用法,jar被分發到一個倉庫之外(我知道,並不理想)。我想要一個視覺指示,以便「無maven」消費者通過簡單地瀏覽他們的類路徑上的jar文件來知道他們正在使用的通道和屬性。 – chadmaughan