maven3.3.9的简单示例以及部署


1、修改pom.xml 用于deploy
请按照下文 pom.xml   有颜色的内容  修改自己的pom.xml文件:
<? xml version = "1.0" encoding = "UTF-8" ?>
< project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
      < modelVersion > 4.0.0 </ modelVersion >
      < groupId > com.chongshi.test </ groupId >
      < artifactId > hello </ artifactId >
      < version > 1.0 </ version >
      < name > Additional SchemaCrawler Lint </ name >
      < dependencies >
           < dependency >
               < groupId > junit </ groupId >
               < artifactId > junit </ artifactId >
               < version > 4.11 </ version >
               < scope > test </ scope >
           </ dependency >
           < dependency >
               < groupId > org.hsqldb </ groupId >
               < artifactId > hsqldb </ artifactId >
               < version > 2.3.3 </ version >
               < scope > provided </ scope >
           </ dependency >
           < dependency >
               < groupId > us.fatehi </ groupId >
               < artifactId > schemacrawler-lint </ artifactId >
               < version > ${schemacrawler.version} </ version >
           </ dependency >
      </ dependencies >
      < properties >
           < project.build.sourceEncoding > UTF-8 </ project.build.sourceEncoding >
           < schemacrawler.version > 14.07.03 </ schemacrawler.version >
      </ properties >

      < distributionManagement >
           <repository >
               <id >ssh-repo-1 </id>
                <url >ftp://192.168.83.204/maven-deploy/ </url>
           </repository>
     </distributionManagement >

      < build >
           <extensions >
               <!-- Enabling the use of SSH -->
               <extension >
                    <groupId >org.apache.maven.wagon </groupId>
                    <artifactId >wagon- ftp</ artifactId>
                    <version >2.10 </version>
               </extension>
           </extensions>

           < plugins >
               < plugin >
                    < groupId > org.apache.maven.plugins </ groupId >
                    < artifactId > maven-compiler-plugin </ artifactId >
                    < version > 3.3 </ version >
                    < configuration >
                         < source > 8 </ source >
                         < target > 8 </ target >
                    </ configuration >
               </ plugin >
           </ plugins >
      </ build >
</ project >

settings.xml文件内容:
<? xml version = "1.0" encoding = "UTF-8" ?>

<settings>
     <servers >
           <server >
               <id >ssh-repo-1 </id>
               <username >root </username>
              <password>123456</password>
           </server>
     </servers >
</settings>

xml:tag: extensions:这部分内容是一个库,
你可以去:
pom.xml 仓库:
按照 groupId/ artifactId 搜索相关内容。
因为本人使用的ftp,所以 artifactId为: wagon- ftp
如果要修改这部分内容,请查阅相关文档!  否则请复制到你pom.xml相应位置即可!

注意:
pom.xml   xml:tag:distributionManagement repository:id 与
settings.xml  xml:tag:   servers:server:id 保持一致!      

settings.xml   中,可以很清楚的明白,这个连接配置。
pom.xml   xml:tag:distributionManagement: repository:url 表示目标地址


2 ftp命令检查,

因为我是从windows上传文件到linux上,一开始我执行命令: mvn deploy   发现:
出现类似如下错误:
 registered transporter factories: WagonTransporterFactory: java.util.NoSuchElementException 

在window的命令行上:


执行命令: ftp 192.168.83.204,发现竟然连接拒绝:
ftp: connect: Connection refused

在linux上执行命令: vsftpd /etc/vsftpd/vsftpd.conf &
如果出现: -bash: vsftpd: command not found,说明你的 vsftpd没有安装,自己安装一个 vsftpd,
可以试试:yum install -y  vsftpd

此后再次执行命令: vsftpd /etc/vsftpd/vsftpd.conf &

然后在windows的cmd上执行命令: ftp 192.168.83.204  
本人已经可以登录成功,

对于使用root用户登录ftp的:

下面的解决办法参考: http://www.linuxidc.com/Linux/2013-06/85395.htm

我用root登录,出现错误: 530 Permission denied解决方法
原来linux的ftp默认不允许使用root登录。
具体解决方法请参考链接 注释掉2个配置文件里的root 即可!

然后使用命令在 windows 的文件夹的url栏输入:ftp://192.168.83.204/
就能访问,在我的文件夹里显示了一个pub文件夹,但是没啥用,主要还是需要你右击文件夹选择登录。


3、开始部署

执行命令: mvn deploy

如果出现问题1:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-cli) on project hello: The packaging for this project did not assign a file to the build artifact -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:

:出现这个问题,可能是因为在执行命令的时候多了一个deploy,或许你的命令是:mvn deploy:deploy,
尝试命令:mvn deploy


如果部署到本地,比如部署到d盘的某个地方,url可以类似如下:
< url > file:///D:\maven_tesyt </ url >


如果出现问题3:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project hello: Failed to deploy artifacts: Could not transfer artifact com.chongshi.test:hello:jar:1.0 from/to ssh-repo-1 (ftp://192.168.83.204/maven-deploy/): Password not specified for repository ssh-repo-1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:

在windows下:

通过命令 mvn deploy -X ,可以发现:
mvn从:[DEBUG] Reading user settings from C:\Users\wangl\.m2\settings.xml
这个位置来读取配置文件: settings.xml

到这个目前去看了下,原来之前的 .m2文件夹被我给删掉了,,那么手动创建一个, .m2文件夹
如果你发现你创建不了这个文件夹,那么请在命令行下创建 mkdir .m2 就可以了,
然后把类似上文中的 settings.xml  文件复制到 .m2文件夹 这个目录里来!
总之,需要把settings.xml 复制 到.m2文件夹下!


再次执行命令: mvn deploy

出现错误4:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project hello: Failed to deploy artifacts: Could not transfer artifact com.chongshi.test:hello:jar:1.0 from/to ssh-repo-1 (ftp://192.168.83.204/maven-deploy/): Required directory: '/maven-deploy/' is missing -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

我本人用的url是: ftp://192.168.83.204/maven-deploy/  
问题还是出在这个url上。
一般情况下,我们通过ssh进去后,不管是你root还是xxx用户,都会进入到各自的~目录下,所以我在我的~目录 下建立了一个 maven-deploy文件夹。
所以在我看来,文件应该传递到 ftp://192.168.83.204/maven-deploy/   这个目录。可是很奇怪,为什么会找不到文件夹 /maven-deploy/???


本人在这个问题上也是耗时了很久,具体就不说了。
反正是参考上面的连接,灵光一现,把绝对路径加上去,所以我使用了url: ftp://192.168.83.204//root/maven-deploy/
再次执行命令。我靠,有文件夹了,有文件了!!!! 
注意: 在ip后有一个/,在linux的绝对路径里,路径从跟位置/开始,所以 有2个//在ip+绝对路径的连接处。

我还尝试了 url:ftp://192.168.83.204//home/wl/project/maven-deploy/
也成功了。
原来ftp上传,这个url必须使用ip+绝对路径, 域名+路径的我没有测试过

如果出现问题5:
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ hello ---
[INFO] Building jar: C:\Users\wangl\hello\target\hello-1.0.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ hello ---
[INFO] Installing C:\Users\wangl\hello\target\hello-1.0.jar to E:\maven\repo\com\chongshi\test\hello\1.0\hello-1.0.jar
[INFO] Installing C:\Users\wangl\hello\pom.xml to E:\maven\repo\com\chongshi\test\hello\1.0\hello-1.0.pom
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ hello ---
Uploading: ftp://192.168.83.204//home/wl/project/maven-deploy/com/chongshi/test/hello/1.0/hello-1.0.jar
Uploaded: ftp://192.168.83.204//home/wl/project/maven-deploy/com/chongshi/test/hello/1.0/hello-1.0.jar (5 KB at 90.8 KB/sec)
Uploading: ftp://192.168.83.204//home/wl/project/maven-deploy/com/chongshi/test/hello/1.0/hello-1.0.pom
Uploaded: ftp://192.168.83.204//home/wl/project/maven-deploy/com/chongshi/test/hello/1.0/hello-1.0.pom (2 KB at 220.3 KB/sec)
Downloading: ftp://192.168.83.204//home/wl/project/maven-deploy/com/chongshi/test/hello/maven-metadata.xml
Uploading: ftp://192.168.83.204//home/wl/project/maven-deploy/com/chongshi/test/hello/maven-metadata.xml
Uploaded: ftp://192.168.83.204//home/wl/project/maven-deploy/com/chongshi/test/hello/maven-metadata.xml (298 B at 32.3 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.630 s
[INFO] Finished at: 2016-03-18T09:32:50+08:00
[INFO] Final Memory: 12M/224M
[INFO] ------------------------------------------------------------------------

如果出现,上传成功,but没有找到文件,那么也是url问题!
【key:maven update success, but no files】
问题在你的url可能没有指对!!
或者在你的文件夹系统里好好找找,比如url: ftp://192.168.83.204/
【目标是linux】使用这个url,文件并没有被上传到 ~目录,,而是被上传在了 /根目录


最后,附上我的测试项目:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值