จะทำให้แพลตฟอร์มสร้าง maven เป็นอิสระได้อย่างไร


95

เมื่อสร้างโดยใช้ Maven บน Mac ของmvn installฉันฉันได้รับ

[คำเตือน] การใช้การเข้ารหัสแพลตฟอร์ม (MacRoman จริง) เพื่อคัดลอกทรัพยากรที่ถูกกรองกล่าวคือการสร้างขึ้นอยู่กับแพลตฟอร์ม!

เป็นไปได้ไหมที่จะสร้างสำหรับแพลตฟอร์มที่กำหนด (Linux) หรือทำให้แพลตฟอร์มการสร้างเป็นอิสระ?

คำตอบ:


174

เกิดขึ้นเมื่อคุณไม่ได้ระบุสิ่งต่อไปนี้ใน pom.xml ของคุณ

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

การไม่มีสิ่งนี้หมายความว่าคุณกำลังใช้การเข้ารหัสเฉพาะแพลตฟอร์มและนั่นคือสาเหตุที่เตือน


2
คุณสามารถค้นหาวิธีแก้ปัญหาได้ในหน้าคำถามที่พบบ่อยของ Maven http://maven.apache.org/general.html#encoding-warnin
Jeff7566

ใช่หลังจากเพิ่มบรรทัดที่กล่าวถึงในคำตอบของคุณแล้วของฉันก็ทำงานได้ดีโดยไม่มีการเตือนล่วงหน้า ขอบคุณ Kal
Ripon Al Wasim

7

และถ้าคำตอบของ @ Kal ไม่ได้ผลสำหรับคุณบางทีคุณอาจเรียนรู้จาก 30 นาทีสุดท้ายของฉัน ... ลิงค์ด้านล่างจะเพิ่มบรรทัดเพิ่มเติมในคำตอบด้านบนและแก้ไขปัญหาของฉัน ปัญหาของฉันเกี่ยวข้องกับ maven-resources-plugin 2.6 แต่ผู้ให้บริการโซลูชันต่อไปนี้มีปัญหาอื่นที่แก้ไขได้ ... https://stackoverflow.com/a/3018152/2485075


บรรทัดที่ 1 ของ pom.xml ของฉันคือ: <? xml version = "1.0" encoding = "UTF-8"?> ฉันพบคำเตือนเดียวกันใน Windows 7: [คำเตือน] การใช้การเข้ารหัสแพลตฟอร์ม (UTF-8 จริง) เพื่อคัดลอกกรอง ทรัพยากรเช่นการสร้างขึ้นอยู่กับแพลตฟอร์ม!
Ripon Al Wasim

1

สำหรับความต้องการเฉพาะ:

<!-- https://maven.apache.org/plugins/maven-resources-plugin/index.html -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

หากปลั๊กอินได้รับการกำหนดค่าไว้แล้วควรเพิ่มเพียงอย่างเดียว

<encoding>UTF-8</encoding>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.