nexus maven專案打包釋出及引用
阿新 • • 發佈:2022-05-05
引用
1.pom檔案中加入配置
<repositories>
<repository>
<id>maven-public</id>
<url>http://nexus3.luoyj.top/repository/maven-public/</url>
</repository>
</repositories>
2.加入依賴引用
<dependency> <groupId>com.zlb</groupId> <artifactId>zlb-common</artifactId> <version>1.0.1</version> </dependency>
打包釋出
釋出有兩種方式,一種是手動,即登入到nexus後臺手動上傳。
另外一種,是通過maven外掛自動上傳發布。
1.編寫java程式碼
2.pom檔案中配置
<groupId>com.zlb</groupId> <artifactId>zlb-common</artifactId> <version>1.0.1</version> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.1</version> <configuration> <!--對於有多個第三方依賴的情況,第三方包 META-INF下會有一些相同的MINIFEST檔案,maven-shade-plugin預設會使用追加而不是覆蓋的方式處理它們。由於一些包重複引用,打包後的 META-INF 目錄多出了一些 *.SF 等檔案,執行jar包時,可能會丟擲java.lang.SecurityException: Invalid signature file digest for Manifest main attributes異常。可以通過配置解決--> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <!--不在根目錄生成打包時的縮減後的pom的xml臨時檔案--> <createDependencyReducedPom>false</createDependencyReducedPom> <transformers> <!--對這個同名檔案進行追加處理--> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>reference.conf</resource> </transformer> <!--設定主函式--> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>cn.fht.test.test</mainClass> </transformer> </transformers> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>8</source> <target>8</target> </configuration> </plugin> </plugins> </build> <distributionManagement> <repository> <id>maven-releases</id> <url>http://nexus3.luoyj.top/repository/maven-releases/</url> </repository> <snapshotRepository> <id>maven-snapshots</id> <url>http://nexus3.luoyj.top/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
3.maven配置檔案settings.xml中配置nexus賬號密碼
<servers> <server> <id>maven-releases</id> <username>admin</username> <password>1234</password> </server> <server> <id>maven-snapshots</id> <username>admin</username> <password>1234</password> </server> </servers>
4.點選deploy按鈕或者執行命令
mvn clean deploy