亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

配置文件未使用 -P 選項激活,而是激活另一個配置文件

配置文件未使用 -P 選項激活,而是激活另一個配置文件

收到一只叮咚 2022-01-06 19:51:55
我的理解是,當使用 -P 選項顯式設置配置文件時,它是獨占的,并且無論如何都應該激活該配置文件。就我而言,在運行命令后mvn clean compile -Pcross-compile,cross-compile配置文件被忽略build-linux-amd64并被激活。這里發生了什么,為什么cross-compile沒有被調用?我的個人資料配置如下:<profiles>        <!-- Cross-compile profile (can only be run under linux os) -->        <profile>            <id>cross-compile</id>            <properties>                <current-os>linux</current-os>                <current-arch>amd64</current-arch>                <crossCompile>true</crossCompile>                <build-target>native-build-cc-all</build-target>            </properties>            <build>                <plugins>                    <!-- Enforcer: Make sure this can only be run from the Linux OS -->                    <plugin>                        <groupId>org.apache.maven.plugins</groupId>                        <artifactId>maven-enforcer-plugin</artifactId>                        <executions>                            <execution>                                <id>enforce-os</id>                                <goals>                                    <goal>enforce</goal>                                </goals>                                <configuration>                                    <rules>                                        <requireOS>                                            <name>Linux</name>                                            <family>unix</family>                                            <arch>amd64</arch>                                        </requireOS>                                    </rules>                                    <failFast>true</failFast>                                    <fail>true</fail>                                </configuration>                            </execution>                        </executions>                    </plugin>                </plugins>            </build>        </profile>
查看完整描述

2 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

看起來我需要明確停用build-linux-amd64配置文件。我編譯使用

mvn clean compile -P'cross-compile,!build-linux-amd64'

現在它按預期工作。


查看完整回答
反對 回復 2022-01-06
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

根據您在 Travis 日志中提供的內容,我發現您正在運行 maven

mvn --settings scripts/settings.xml install -DskipTests=true -Dgpg.skip -Dmaven.javadoc.skip=true -B -V

在這一步中,您正在編譯沒有配置文件選項的代碼。

然后你跑

mvn package -Pcross-compile -DskipTests=true -Dgpg.skip -Dmaven.javadoc.skip=true.

在這個打包步驟中,代碼被編譯。因此 mvn 不會使用配置文件中的編譯選項再次編譯代碼。

所以嘗試在第一個mvn install命令中添加配置文件選項。


查看完整回答
反對 回復 2022-01-06
  • 2 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號