[英]Maven Compile Plugin By Command
我有一個 Windows-1254 文件編碼項目,其中一些文件采用 UTF-8 編碼。
<properties>
<project.build.sourceEncoding>Windows-1254</project.build.sourceEncoding>
<project.reporting.outputEncoding>Windows-1254</project.reporting.outputEncoding>
<version.plugin.maven.resources>3.1.0</version.plugin.maven.resources>
<functionAppName>az-app-core</functionAppName>
</properties>
我在 pom 中添加了插件並使用mvn compile
正確mvn compile
。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
<executions>
<execution>
<id>compile1</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<excludes>
<exclude>**/StringUtil.java</exclude>
<exclude>**/TurkceInputTag_FaceLift.java</exclude>
<exclude>**/TurkceInputTag.java</exclude>
</excludes>
<encoding>Windows-1254</encoding>
</configuration>
</execution>
<execution>
<id>compile2</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<includes>
<include>**/StringUtil.java</include>
<include>**/TurkceInputTag_FaceLift.java</include>
<include>**/TurkceInputTag.java</include>
</includes>
<encoding>UTF-8</encoding>
</configuration>
</execution>
</executions>
</plugin>
但是我需要通過命令來編譯項目,不僅是clean compile
,還要將所有配置(在 compile1、compile2 執行上面定義)提供給 maven 之類的
maven編譯插件:compile -Dexecutions/execution1/id=compile1,encoding=Windows-1254,excludes=....
我無法將文件類型編碼更改為僅 UTF-8 或 Windows-1254 編碼。 我需要使用兩種編碼來編譯項目。
maven插件如何通過配置、編碼、執行等命令編譯?
我第二個khmarbaise。
一個項目中的所有源代碼文件需要具有相同的編碼。 選擇一個並轉換其他源代碼文件。
編輯:
您提到您無法轉換文件,但不幸的是,您沒有告訴我們原因。
無論什么阻礙你去做,你都需要解決這個問題。
因此,如果您的同事、經理或客戶告訴您不要更改編碼,那么您需要通過與這些人交談來解決這個問題,向他們解釋 Maven 項目需要有一個(並且只有一個)源代碼編碼並說服他們改變那個。
如果我誤解了你,請隨時評論我的回答。
不幸的是,Maven 的命令行並不像您希望實現的那樣靈活。 (關於您為什么要實現它,我有一個很大的問題,並且不能像您所演示的那樣僅在 POM 中指定該信息)。
如果您查看maven-compiler-plugin:compile
的目標文檔,您會看到某些選項(例如encoding
)具有“用戶屬性”。 這以-D
為前綴使其成為系統屬性,允許您從命令行配置它:
mvn <goals/phases> -Dencoding=... -Dmaven.compiler.failOnError=...
但是從命令行運行目標只會執行一次,而不是您想要的兩個。 所以你的選擇可能是:
mvn
命令兩次,每個命令都有不同的選項。 雖然很棘手,因為您無法指定包含/排除項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.