Mam kilka modułów maven, które używają kodowania Cp1252. Nie miałem problemu z tym kodowaniem, dopóki nie dodałem scala do jednego z modułów. Wtyczka scala-maven ignoruje project.build.sourceEncoding
i próbuje parsować pliki źródłowe tak, jakby były utf-8.
Próbowałem dodać kodowanie do konfiguracji wtyczki:
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.1.6</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<encoding>Cp1252</encoding>
</configuration>
</plugin>
Gdy to nie zadziałało, próbowałem również dodać kodowanie do wykonań:
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.1.6</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
<configuration>
<sourceDir>${basedir}/scala</sourceDir>
<encoding>Cp1252</encoding>
</configuration>
</execution>
<execution>
<id>scala-test-compile</id>
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<sourceDir>${basedir}/scala</sourceDir>
<encoding>Cp1252</encoding>
</configuration>
</execution>
</executions>
<configuration>
<encoding>Cp1252</encoding>
</configuration>
</plugin>
Moduł, o którym mowa, ma 1454 pliki źródłowe, więc konwersja modułu do użycia utf-8 nie jest praktyczna.
Odpowiedzi:
1 dla odpowiedzi № 1Użyłem tego rozwiązania:
<configuration>
<args>
<arg>-encoding</arg>
<arg>${project.build.sourceEncoding}</arg>
</args>
</configuration>
Nie jestem pewien, czy to zadziała dla Ciebie.
0 dla odpowiedzi nr 2
od doktora jest dla
Argument -encoding dla kompilatora Java. (podczas korzystania z kompilatora przyrostowego).
Więc to nie powinno działać w twoim przypadku (nie przyrostowe + nie Java).
Rozwiązanie Gooseman jest właściwe:
<configuration>
<args>
<arg>-encoding</arg>
<arg>${project.build.sourceEncoding}</arg>
</args>
</configuration>