java的maven工程引用dll,编译时会自动修改其编码格式

  1. java的maven项目,引用了dll库文件,使用的集成开发环境是idea。
  2. 该项目在编译时会自动修改dll文件,目前看应该是自动转换了dll的编码格式。
  3. 如何让工程在编译时只将文件拷贝到编译目录,而不去修改编码格式?在idea中如何设置,或者如何修改pom文件?
  4. 目前项目的pom文件已经做了如下修改,但没有起作用: <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>
  <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <dependencies>

求解?蟹蟹


目前问题已经解决,在pom引用配置文件的代码上去掉了filtering标签,或者将该标签的值直接修改为false都可以。

<resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <include>**/*.dll</include>
                    <include>**/*.cfg</include>
                    <include>**/*.html</include>
                </includes>
                <filtering>false</filtering>
            </resource>

filtering标签的含义为,在扫描src/main/resources/下的所有properties和xml文件时,是否将其中的${}引用在打包时换成直接引用。目前我们项目暂时没有${}这种用法,因而设置filtering为false没有影响。

至于最优方案,目前还未找到。

你修改的是拿个目录下的配置文件,要源代码目录下的。

参考:https://maven.apache.org/plugins/maven-resources-plugin/examples/binaries-filtering.html