新手在MyEclipse執行clean install deploy,WAR包錯誤上傳到Releases庫並報400 Bad Request。
| 倉庫類型 | 標準用途 | 典型制品 |
|---|---|---|
| Releases | 正式發布版本(不可變) | JAR、POM、Sources、Javadoc |
| Snapshots | 開發中快照版(可覆蓋) | JAR、POM、Sources、Javadoc |
Maven標準生命週期設計為構建JAR包,WAR屬於Web應用部署制品,不屬於Maven依賴管理體系核心範疇。
<packaging>war</packaging> 導致Maven嘗試按庫規則部署wagon或maven-deploy-plugin支援Web容器部署<build>
<plugins>
<!-- 僅構建WAR,不部署到Maven倉庫 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<attachClasses>true</attachClasses> <!-- 同時輸出classes jar -->
</configuration>
</plugin>
</plugins>
</build>
構建產出target/*.war,再通過Jenkins/Ansible/Docker部署到Tomcat/K8s。
<distributionManagement>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>https://nexus/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>nexus-releases</id>
<url>https://nexus/content/repositories/releases/</url>
</repository>
</distributionManagement>
-- 版本號必須帶-SNAPSHOT後綴
mvn clean deploy -DskipTests