我使用命令: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上是可以的.
谁能帮我解决这个问题
3条答案
按热度按时间2skhul331#
尝试使用
mvn clean package
或
mvn clean install
将clean沿着与package或install一起使用将清除目标目录,这样同一个jar就不会在目标目录中重叠。
package将编译您的代码并打包它。例如,如果你的pom说这个项目是一个jar,当你打包它并把它放在目标目录的某个地方(默认情况下)时,它会为你创建一个jar。
install将编译和打包,但它也会将包放在本地存储库中。这将使其他项目可以引用它并从本地存储库中获取它。
brccelvz2#
我的案例cmd已打开,目标文件夹
mo49yndu3#
我最近遇到了这个问题。很容易搞定。
在我的例子中,我试图运行
mvn package
,并没有意识到我试图打包的应用程序已经在调试模式下运行。只需找出哪个应用程序正在使用.jar文件并将其剪切即可。