spring-boot-maven-plugin:2.0.0.RELEASE:repackage failed:无法重命名

6yt4nkrj  于 2023-10-17  发布在  Maven
关注(0)|答案(3)|浏览(186)

我使用命令:mvn package打包我的项目,pom.xml如下:

<build>
        <defaultGoal>compile</defaultGoal>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass/>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

但由于Execution default of goal org.springframework.boot:spring-boot-maven-plugin:2.0.0.RELEASE:repackage failed: Unable to rename 'D:\Code\analysis\server\target\access_server-2.0.0.RELEASE.jar' to ' D:\Code\nalysis\server\target\access_server-2.0.0.RELEASE.jar.original'的原因,
这个异常发生在windows 10上,但是在centos 7上是可以的.

谁能帮我解决这个问题

2skhul33

2skhul331#

尝试使用
mvn clean package

mvn clean install
将clean沿着与package或install一起使用将清除目标目录,这样同一个jar就不会在目标目录中重叠。
package将编译您的代码并打包它。例如,如果你的pom说这个项目是一个jar,当你打包它并把它放在目标目录的某个地方(默认情况下)时,它会为你创建一个jar。
install将编译和打包,但它也会将包放在本地存储库中。这将使其他项目可以引用它并从本地存储库中获取它。

brccelvz

brccelvz2#

我的案例cmd已打开,目标文件夹

mo49yndu

mo49yndu3#

我最近遇到了这个问题。很容易搞定。
在我的例子中,我试图运行mvn package,并没有意识到我试图打包的应用程序已经在调试模式下运行。只需找出哪个应用程序正在使用.jar文件并将其剪切即可。

相关问题