使用maven将代码到私服
在上一节中,我们讲述了maven私服搭建 ,那么本章,我们讲述如何使用maven将代码打包并上传到maven私服上。
一、maven pom.xml关键配置信息。
1 2 3 4 5 6 7 8 9 10 11 12 | <distributionManagement> <repository> <id>releases</id> <name>Nexus Release Repository</name> <url>http: //192.9.104.17:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <name>Nexus Snapshot Repository</name> <url>http: //192.9.104.17:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> |
二、maven 代码编译、打包、生成java doc相关配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <configuration> <url>http: //192.9.104.116:8090/manager</url> <server>tomcat-remote-deploy</server> <path>/search-web</path> </configuration> </plugin> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version> 6.1 . 7 </version> <configuration> <connectors> <connector implementation= "org.mortbay.jetty.nio.SelectChannelConnector" > <port> 8888 </port> <maxIdleTime> 30000 </maxIdleTime> </connector> </connectors> <!-- <webAppSourceDirectory>${project.build.directory}/${pom.artifactId}-${pom.version}</webAppSourceDirectory> --> <webApp> <contextPath>/search</contextPath> </webApp> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>${plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${plugin.version}</version> <executions> <execution> <id>attach-sources</id> <phase>verify</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${plugin.version}</version> <!-- <version> 2.1 . 2 </version> --> <configuration> <source> 1.6 </source> <target> 1.6 </target> <complianceLevel> 1.6 </complianceLevel> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${java.doc.version}</version> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> |
其中:
maven-clean-plugin 执行mvn clean 命令相关插件
maven-resources-plugin 执行mvn 工程resources打包管理
maven-source-plugin 执行maven 代码源码打包的工具
maven-compiler-plugin maven代码编译的工具
maven-javadoc-plugin 生成javadoc的maven工具
tomcat-maven-plugin 进行tomcat远程部署的工具,主要配置的信息<server>tomcat-remote-deploy</server>就是setting.xml中servers中的配置信息,用户名和密码配置以后,就可以远程部署。
三、maven上传jar包到nexus私服。
1、创建maven执行命令。
点击Debug>>Debug configurations>>
点击执行按钮:
查看执行情况(见eclipse console):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | [INFO] Error stacktraces are turned on. [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for com.tianditu.search:search-nlp:jar: 0.1 [WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:tomcat-maven-plugin is missing. @ com.tianditu.search:tianditu-search: 0.8 , P:\ts_search\tianditu-search\pom.xml, line 62 , column 14 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building search-nlp 0.1 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin: 2.4 :resources ( default -resources) @ search-nlp --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 0 resource [INFO] [INFO] --- maven-compiler-plugin: 2.4 :compile ( default -compile) @ search-nlp --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin: 2.4 :testResources ( default -testResources) @ search-nlp --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory P:\ts_search\tianditu-search\search-nlp\src\test\resources [INFO] [INFO] --- maven-compiler-plugin: 2.4 :testCompile ( default -testCompile) @ search-nlp --- [INFO] No sources to compile [INFO] [INFO] --- maven-surefire-plugin: 2.7 . 1 :test ( default -test) @ search-nlp --- [INFO] No tests to run. [INFO] Surefire report directory: P:\ts_search\tianditu-search\search-nlp\target\surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- There are no tests to run. Results : Tests run: 0 , Failures: 0 , Errors: 0 , Skipped: 0 [INFO] [INFO] --- maven-jar-plugin: 2.3 . 1 :jar ( default -jar) @ search-nlp --- [INFO] Building jar: P:\ts_search\tianditu-search\search-nlp\target\search-nlp- 0.1 .jar [INFO] [INFO] --- maven-javadoc-plugin: 2.7 :jar (attach-javadocs) @ search-nlp --- [ERROR] Error fetching link: http: //java.sun.com/javase/6/docs/api/package-list. Ignored it. [INFO] 正在加载程序包com.tianditu.search.nlp的源文件... 正在构造 Javadoc 信息... 标准 Doclet 版本 1.7 .0_45 正在构建所有程序包和类的树... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\BCConvert.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\Pinyin.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\StringTool.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\ package -frame.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\ package -summary.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\ package -tree.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\constant-values.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\ class -use\StringTool.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\ class -use\Pinyin.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\ class -use\BCConvert.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\com\tianditu\search\nlp\ package -use.html... 正在构建所有程序包和类的索引... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\overview-tree.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\index-all.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\deprecated-list.html... 正在构建所有类的索引... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\allclasses-frame.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\allclasses-noframe.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\index.html... 正在生成P:\ts_search\tianditu-search\search-nlp\target\apidocs\help-doc.html... 7 个警告 [WARNING] Javadoc Warnings [WARNING] P:\ts_search\tianditu-search\search-nlp\src\main\java\com\tianditu\search\nlp\StringTool.java: 107 : 警告 - @return 标记没有参数。 [WARNING] P:\ts_search\tianditu-search\search-nlp\src\main\java\com\tianditu\search\nlp\StringTool.java: 127 : 警告 - @return 标记没有参数。 [WARNING] P:\ts_search\tianditu-search\search-nlp\src\main\java\com\tianditu\search\nlp\StringTool.java: 148 : 警告 - @return 标记没有参数。 [WARNING] P:\ts_search\tianditu-search\search-nlp\src\main\java\com\tianditu\search\nlp\StringTool.java: 171 : 警告 - @return 标记没有参数。 [WARNING] P:\ts_search\tianditu-search\search-nlp\src\main\java\com\tianditu\search\nlp\StringTool.java: 359 : 警告 - @return 标记没有参数。 [WARNING] P:\ts_search\tianditu-search\search-nlp\src\main\java\com\tianditu\search\nlp\StringTool.java: 73 : 警告 - @note 是未知标记。 [WARNING] P:\ts_search\tianditu-search\search-nlp\src\main\java\com\tianditu\search\nlp\StringTool.java: 91 : 警告 - @note 是未知标记。 [INFO] Building jar: P:\ts_search\tianditu-search\search-nlp\target\search-nlp- 0.1 -javadoc.jar [INFO] [INFO] --- maven-source-plugin: 2.4 :jar-no-fork (attach-sources) @ search-nlp --- [INFO] Building jar: P:\ts_search\tianditu-search\search-nlp\target\search-nlp- 0.1 -sources.jar [INFO] [INFO] --- maven-install-plugin: 2.3 . 1 :install ( default -install) @ search-nlp --- [INFO] Installing P:\ts_search\tianditu-search\search-nlp\target\search-nlp- 0.1 .jar to C:\Users\GCZX- 016 \.m2\repository\com\tianditu\search\search-nlp\ 0.1 \search-nlp- 0.1 .jar [INFO] Installing P:\ts_search\tianditu-search\search-nlp\pom.xml to C:\Users\GCZX- 016 \.m2\repository\com\tianditu\search\search-nlp\ 0.1 \search-nlp- 0.1 .pom [INFO] Installing P:\ts_search\tianditu-search\search-nlp\target\search-nlp- 0.1 -javadoc.jar to C:\Users\GCZX- 016 \.m2\repository\com\tianditu\search\search-nlp\ 0.1 \search-nlp- 0.1 -javadoc.jar [INFO] Installing P:\ts_search\tianditu-search\search-nlp\target\search-nlp- 0.1 -sources.jar to C:\Users\GCZX- 016 \.m2\repository\com\tianditu\search\search-nlp\ 0.1 \search-nlp- 0.1 -sources.jar [INFO] [INFO] --- maven-deploy-plugin: 2.5 :deploy ( default -deploy) @ search-nlp --- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder" . SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http: //www.slf4j.org/codes.html#StaticLoggerBinder for further details. Uploading: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/0.1/search-nlp-0.1.jar Uploading: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/0.1/search-nlp-0.1.pom Uploaded: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/0.1/search-nlp-0.1.jar (30 KB at 137.9 KB/sec) Uploaded: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/0.1/search-nlp-0.1.pom (5 KB at 46.4 KB/sec) Downloading: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/maven-metadata.xml Downloaded: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/maven-metadata.xml (305 B at 8.1 KB/sec) Uploading: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/maven-metadata.xml Uploaded: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/maven-metadata.xml (305 B at 0.6 KB/sec) Uploading: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/0.1/search-nlp-0.1-javadoc.jar Uploaded: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/0.1/search-nlp-0.1-javadoc.jar (47 KB at 649.1 KB/sec) Uploading: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/0.1/search-nlp-0.1-sources.jar Uploaded: http: //192.9.104.17:8081/nexus/content/repositories/releases/com/tianditu/search/search-nlp/0.1/search-nlp-0.1-sources.jar (23 KB at 340.6 KB/sec) [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 8 .709s [INFO] Finished at: Thu Jun 04 17 : 26 : 55 CST 2015 [INFO] Final Memory: 18M/386M [INFO] ------------------------------------------------------------------------ |
如有错误,然后定位并解决,主要错误就是用户没有权限,或者仓库地址没有配置等等。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架