2012-04-20 95 views
1

我试图设置清洁阶段来使用maven-junction-plugin,因为我从Linux和Windows构建项目。 这里是结插件我的pom.xml部分:如何解决缺少maven-junction-plugin依赖项:junction.exe?

 <plugin> 
      <groupId>com.pyx4j</groupId> 
      <artifactId>maven-junction-plugin</artifactId> 
          <version>1.0.3</version> 
      <executions> 
       <execution> 
        <id>unlink</id> 
        <phase>clean</phase> 
        <goals> 
         <goal>unlink</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <links> 

        <link> 
         <dst>${basedir}/src/main/webapp/WEB-INF</dst> 
         <src>${WEB-INF}</src> 
        </link> 
       </links> 
      </configuration> 
     </plugin> 

但是当我运行mvn干净我得到了一个错误:

未能执行目标com.pyx4j:Maven的结插件: 1.0.3:在项目webapp上取消链接(取消链接):目标com.pyx4j的执行取消链接:maven-junction-plugin:1.0.3:取消链接失败:插件com.pyx4j:maven-junction-plugin:1.0.3无法解决其依赖关系:无法找到sysinternals:junction:exe:1.04中的http://myserver.com:8080/archiva/repository/internal已缓存在本地存储库中,直到archiva.default的更新时间间隔过去或更新后才会重新解析分辨率TES被迫 - > [求助1]

我使用Maven仓库内部archiva服务器,它也必须在仓库的maven-结插件,但缺少结1.04.exe,有一种方法,我可以在archiva或.m2缓存中添加下载的junction-1.04.exe以使junction插件正常工作? 另一个问题,当我在Linux中运行mvn clean时遇到了同样的错误,我认为junction插件会在Linux中使用ln -s,为什么它仍然在寻找junction.exe? 在此先感谢!

大卫

回答

0

你可以尝试手动安装/分别在当地.m2archiva部署junction.exe

要在本地存储库中手动运行install,您可以运行mvn install:install-file目标maven install plugin。在档案中,您可以使用mvn deploy:deploy-file命令maven deploy plugin。另外,archiva可能有基于Web的部署选项,也可以使用。在这两种情况下,你需要指定以下参数:

  • groupIdsysinternals
  • artifactIdjunction
  • version1.04
  • typeexe

至于为什么它正在寻找exe文件,甚至在Linux上,看着插件的pom file,在exe的依赖是无条件的。我怀疑它不会在linux中实际使用。

+0

感谢您的回答。你能否扩展“手动安装/部署”部分? – 2012-04-20 15:41:48

+0

@DavidZhao Whit“手动安装”你会把这个文件放到你的本地.m2版本库文件夹中,所以如果它看到那个exe文件,插件会冷静下来。我会很快尝试。 – 2014-06-21 18:54:41