2011-12-06 5 views
0

나는 개미 명령 (받는다는 3.0.3)는 "받는다는-antrun - 플러그인"을 실행할 때 작업 또는 유형 SCP를 작성하는 데 실패 [ERROR] 원인 : org.apache.tools.ant.taskdefs.optional.ssh.Scp 클래스를 찾을 수 없습니다.메이븐 개미 SCP 오류

내 $ ANT_HOME/lib에서 체크인했는데 jar 파일이 있습니다 (ant-jsch.jar).

무엇이 문제입니까?

나는 우분투 11.10을 사용하고 있습니다. (I 같은 문제를 가지고 우분투의 저장소로) 개미는 웹 사이트에서 다운로드

답변

-1

당신은 작업 정의 하나

<taskdef name="scp" classname="org.apache.tools.ant.taskdefs.optional.ssh.Scp" classpathref="lib/ant-jsch.jar" /> 
+0

이 문제를 시도해보십시오. –

4

, maven antrun plugin 설치된 ant에 사용하지 않습니다를 설정하는 것을 잊지 않았다 운영을위한 시스템.

scp은 개미의 기본값 인 병에는 포함되지 않은 작업입니다. 실행하려면 maven antrun plugin 페이지의 this example에 설명 된 단계를 따라야합니다.

귀하의 경우 ant-jsch.jarjsch.jarplugin dependencies으로 포함시켜야 할 것으로 생각됩니다.

<dependencies> 
     <dependency> 
     <groupId>com.jcraft</groupId> 
     <artifactId>jsch</artifactId> 
     <version>1.4.1</version> 
     </dependency> 
     <dependency> 
     <groupId>org.apache.ant</groupId> 
     <artifactId>ant-jsch</artifactId> 
     <version>0.1.45</version> 
     </dependency> 
    </dependencies> 
2

나는 동일한 문제가 있었고 그것을 고쳤다. 기억하십시오. 둘다 ant-jsch.jar (개미 또는 자바 설치에서 가져온 것)이고, jsch (내 경우에는 jsch-0.1.46.jar)을 ant lib 디렉토리에 업데이트해야합니다.

에서 최신 jsch.jar을로드하고 libs 폴더에 추가해야합니다 (단, ant-jsch.jar은 바꿀 수 없음).

실수 많은 개발자가 수행

  1. ant-jsch.jar 오래된
  2. jsch이 아닌 존재하거나
  3. 기본 개미 LIB 디렉토리에 구식 인 (이 경우 작업에서 것은 개미에 대한 알 수없는) ant-jsch.jarjsch로 대체 마지막 두 사례 개미에

SCP를 알고 (내가 ... 그것을했다) 명령을 사용할 수 없다는 메시지가 표시됩니다.

0

방금 ​​간부 인 사용으로 폴백 할 수 있습니다 (I했던 것처럼) $ ANT_HOME/lib 디렉토리에 jsch 항아리를 추가하거나 여전히 문제가 올바른 SCP의 개미 구문을 얻기를하지 않으려면 :

<exec executable="scp"> 
    <arg value="-r"/> 
    <arg value="${LOCALDIR}/images"/> 
    <arg value="remoteHost:/var/www/html"/> 
</exec> 

여기서 remoteHost는 $ HOME/.ssh/config에 정의됩니다.

0

최근에 비슷한 문제가있었습니다.Windows 시스템에서 이클립스로는 검증에 내려온 :

ANT는
  • SCP는 그 자체로 작동 작동
    • , ANT 및 SCP는 Eclipse 개발 환경에서 근무
    • 합니다.

    간단한 ANT 파일은 build.xml이라는 Eclipse 내에서 실행할 수 있습니다. 샘플 내용은 다음과 같습니다

    <?xml version="1.0" encoding="UTF-8"?> 
    <project default="main" basedir="."> 
    
    <echo message="A 'testant' task."/> 
    <target name="main" > 
        <scp trust="yes" file="testfileinRootDirectory.xml" todir="username:[email protected]:/home/username/existingfolder"/> 
        </target> 
    </project> 
    

    이클립스 내에서이를 실행할 수있는 경우에, 당신은 ANT 작업의 형태를 가지고 있고, 또한 WinSCP에 작업의 몇 가지 형태가있다.

    Eclipse에서 작동시키지 못하면 build.xml이있는 디렉토리에서 명령 창을 열고 명령 프롬프트에서 ant을 실행하십시오. (자동으로 build.xml 파일을 선택하여 실행합니다).

    작동하지 않는 경우 Maven의 명령 줄 실행보다 ANT에 대한 다른 경로 집합을 사용할 수 있으므로 Eclipse 내에서 항목을 확인하십시오. Eclipse 내에서 체크 아웃 : Window |
    기본 설정 |
    개미 |
    런타임 |
    클래스 경로 항목 시험. 당신의 %의 ANT_HOME % 디렉토리는 이후로 설정되어있는 곳 또는 - 같은 c:\dev\ant을 - c:\eclipse\plugins\org.apache.ant_1.8.3_v20120321-1730\lib

    글로벌 항목 (예 : 설치 위치)과 다를 수 있습니다 : 예 :

    개미 홈 항목은 특정 이클립스 할 수있다 설치.

    Eclipse는 c:\Users\username\.ant\lib 디렉토리의 SCP jars를 검색 할 수 있습니다.

    한 가지 가능한 솔루션 :
    - c:\Users\username\.ant 디렉토리
    에 ANT 설치 - 이클립스에 (런타임 옵션과 동일 화면) 개미 홈 옵션을 설정 내에서 - c:\Users\username\.ant
    가되도록 ANT_HOME을 설정 커맨드 라인에서와 같을 것 (c:\Users\username\.ant).

    참고 : 가능한 단점은 사용자 및 시스템 설정이 ANT와 동일 할 수 있지만 나중에 옵션 병을 한 위치에 가져와 작동하도록해야한다는 것입니다.

    테스트 Maven은 : 위의 라구 람의 대답에 유사

    , 오른쪽 dependecies을 얻는 것은 중요하다. Cedric Walter의 전체 샘플 코드를 사용하십시오. Apache Maven copy local file to a remote server server using SSH