Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh Maven插件依赖项被忽略_Ssh_Dependencies_Maven_Maven Plugin_Scp - Fatal编程技术网

Ssh Maven插件依赖项被忽略

Ssh Maven插件依赖项被忽略,ssh,dependencies,maven,maven-plugin,scp,Ssh,Dependencies,Maven,Maven Plugin,Scp,我创建了这个概要文件,用于通过SCP在服务器上部署工件。我知道Ant的scp任务是可选的,因此我添加了依赖项 <profiles> <profile> <id>remote-deploy</id> <build> <plugins> <plugin>

我创建了这个概要文件,用于通过SCP在服务器上部署工件。我知道Ant的scp任务是可选的,因此我添加了依赖项

<profiles>
        <profile>
            <id>remote-deploy</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>scp</id>
                                <phase>install</phase>
                                <configuration>
                                    <tasks>
                                        <scp .../>
                                        <sshexec .../>
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.ant</groupId>
                                <artifactId>ant-jsch</artifactId>
                                <version>1.7.1</version>
                            </dependency>
                            <dependency>
                                <groupId>com.jcraft</groupId>
                                <artifactId>jsch</artifactId>
                                <version>0.1.42</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

远程部署
maven antrun插件
scp
安装
跑
org.apache.ant
ant jsch
1.7.1
com.jcraft
jsch
0.1.42
然而,当我运行配置文件时,我最终得到

发生了Ant BuildException: 问题:无法创建任务或类型 scp原因:班级 org.apache.tools.ant.taskdefs.optional.ssh.Scp 找不到。 这看起来像Ant的可选组件之一。行动:检查 选择合适的可选JAR 存在于 -蚂蚁之家 -IDE Ant配置对话框

不要惊慌,这是一个常见的问题 问题最常见的原因是 丢失的罐子

这不是一个错误;这是一个 配置问题


是否可能maven无法下载这些依赖项,或者只是忽略了它们?

maven可能下载了JAR,但它不在ant的类路径中。如果目标是使用maven部署工件,那么您可能应该使用。您所做的似乎是一种迂回的方式。

问题在于Maven(2.2.1)没有下载依赖项。我在将Maven升级到版本3后发现了这一点。出于某种原因,新版本下载了插件依赖项,奇迹般地开始工作


我怀疑问题出在旧版本Maven的设置中-
pluginRepository
没有配置。

有一个Maven antrun插件,可以解释为什么Maven-2会出现这种情况,他们还描述了

在多模块构建中,如果有多个POM配置maven antrun插件,那么第一个(?)似乎会赢,因此构建链中后面的那些会重用早期POM中的antrun配置,从而错过不同的东西

在我的问题案例中,我选择使用Maven-3,问题似乎已经解决,而不是使用Maven-2。这还有一个额外的优点,就是构建速度也加快了——现在需要6分钟,而不是以前的10分钟。
但是,如果您无法使用Maven-3,我会尝试解决方法…

Maven部署插件不是一个选项,因为我没有部署到远程存储库,而是远程服务器-我仍然需要执行一些特定于服务器的unix命令。