Java 为什么spring boot在源代码资源中修改jar?

Java 为什么spring boot在源代码资源中修改jar?,java,maven-plugin,Java,Maven Plugin,我的弹簧靴结构如下: /src/main/resources/ +- /lib +- logback-classic-1.1.9-source.jar +- logback-classic-1.1.9.jar 我用的pom是: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId>

我的弹簧靴结构如下:

/src/main/resources/
  +- /lib
     +- logback-classic-1.1.9-source.jar
     +- logback-classic-1.1.9.jar
我用的pom是:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
    <resources>  
       <resource>  
           <directory>src/main/resources/</directory>  
           <filtering>true</filtering>  
           <includes>  
               <include>**/*</include>  
           </includes>  
       </resource>    
   </resources> 
</build>
为了将movejar排除在战争之外,我只想知道我的代码有什么问题,让spring引导在参考资料中更改我的jar


我还尝试了spring项目,在这种情况下,一切都很好!我的jar在war文件中没有更改。

您在src/main/resources路径下有lib,它们是在过滤设置为true的情况下复制的。因此,在复制资源的过程中,如果它们包含格式为
${…}
的字符串,则会对其进行修改

第一个解决方案是不将jar作为资源。你真的需要在你的最终作品中的源jar吗?如果没有,请删除此lib文件夹并向logback classic jar添加依赖项:

<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.1.9</version>
</dependency>

我将过滤改为false,问题就解决了。你是对的!非常感谢你!然后,请友好地接受答案(单击左侧的灰色复选标记)。谢谢,但是对于提出问题并获得此问题答案的qho来说,StackOverflow的正确方法是接受答案。请参见。作为新用户,您还没有投票权。
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.1.9</version>
</dependency>
<resources>
    <resource>
        <directory>src/main/resources/</directory>
        <filtering>true</filtering>
        <includes>
            <include>**/*</include>
        </includes>
        <excludes>
            <exclude>lib</exclude>
        </excludes>
    </resource>
    <resource>
        <directory>src/main/resources/lib</directory>
        <filtering>false</filtering>
        <includes>
            <include>**/*</include>
        </includes>
    </resource>
</resources>