[ https://issues.apache.org/jira/browse/SUREFIRE-951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17843385#comment-17843385 ]
Thorsten Glaser commented on SUREFIRE-951: ------------------------------------------ This breaks JaCoCo. You need: {code:java} <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>${argLine} -Dfile.encoding=${project.build.sourceEncoding}</argLine> </configuration> </plugin> {code} > Better handling of file.encoding system property > ------------------------------------------------ > > Key: SUREFIRE-951 > URL: https://issues.apache.org/jira/browse/SUREFIRE-951 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Surefire Plugin, process forking > Affects Versions: 2.13 > Environment: Any environment in which the file encoding is distinct > from ${project.build.sourceEncoding}. > Reporter: Stephan Schroevers > Assignee: Tibor Digana > Priority: Major > Fix For: 2.15 > > Attachments: file-encoding-example.tbz > > > It appears that Surefire doesn't (correctly) set > {{-Dfile.encoding=$\{project.build.sourceEncoding\}}} prior to running the > tests. As a result the JVM will derive {{file.encoding}} from the > environment's file encoding. This affects the return value of > {{java.nio.charset.Charset#defaultCharset()}}, which reads the > {{file.encoding}} system property exactly once, and is invoked very early on. > Concretely this means that the unit tests are unnecessarily platform > dependent. > Thus I have two requests: > # Make {{-Dfile.encoding=$\{project.build.sourceEncoding\}}} the default. > That is, the following configuration setting should be implied: > {noformat} > <argLine>-Dfile.encoding=${project.build.sourceEncoding}</argLine> > {noformat} > # Extend the method > {{org.apache.maven.plugin.surefire.SurefireProperties#verifyLegalSystemProperties(org.apache.maven.plugin.logging.Log)}} > such that is warns about users attempting to set the {{file.encoding}} > property through the {{systemPropertyVariables}} configuration setting. Like > with {{java.library.path}}, this does _not_ work. > I have [attached|^file-encoding-example.tbz] a sample project that > demonstrates the issue (simply run {{`mvn test`}}). Please have a look at the > comments I added to the POM. I have tested this sample project only on Linux, > but a colleague has confirmed that an instance of this issue can also be > recreated on Windows. > TIA for looking into this! -- This message was sent by Atlassian Jira (v8.20.10#820010)