2011-04-01 7 views
1

나는 리눅스에서 개미 빌드를 실행하려고하는데 이상한 결과가 나타납니다. classpath에있는 모든 라이브러리를 지정하지 않고 실행할 수있는 항목이 없으므로 "lib"및 "ant/dep/lib"위치의 모든 jar를 클래스 경로에 체계적으로 추가했습니다.리눅스에서 개미

이것은 문제없이 실행됩니다 (설정 배치이므로 스크립트의 첫 번째 단계에서는 많은 "입력"작업을 사용함). 그러면 org.apache.tools.ant라는 메시지가 나타납니다. .taskdefs.optional.PropertyFile을 찾을 수 없습니다. 주위를 둘러 보니, 그것이 ant-nodeps.jar에 있음을 발견했으며 클래스 경로에 추가했지만 변경은하지 않았습니다.

누락 된 라이브러리로 인한 완전한 실패 이해할 수 있지만 모든 라이브러리 (ant-nodeps.jar 포함)를 포함하고 있다고 확신 할 경우 빌드가 부분적으로 작동하는 이유는 무엇입니까?

스크립트 파일

는 다음대로 시작합니다 :

#!/QOpenSys/usr/bin/bsh 
ANT_HOME=dep/ant 
PARAMS="-Dant.home=$ANT_HOME -Dsystem.type=as400 -Dis-as400=y" 
LIBS="lib/ant-contrib-1.0b3.jar:lib/ant-launcher.jar:lib/ant.jar:lib/catalina-ant.jar:lib/catalina-deployer.jar:lib/commons-net-2.2.jar:lib/el-api.jar:lib/ganymed.jar:lib/jakarta-oro-2.0.8.jar:lib/jasper-el.jar:lib/jasper.jar:lib/jsp-api.jar:lib/log4j-1.2.16.jar:lib/mail.jar" 
ANTLIBS="$ANT_HOME/lib/ant-antlr.jar:$ANT_HOME/lib/ant-jai.jar:$ANT_HOME/lib/ant-starteam.jar:$ANT_HOME/lib/ant-apache-bcel.jar:$ANT_HOME/lib/ant-javamail.jar:$ANT_HOME/lib/ant-stylebook.jar:$ANT_HOME/lib/ant-apache-bsf.jar:$ANT_HOME/lib/ant-jdepend.jar:$ANT_HOME/lib/ant-swing.jar:$ANT_HOME/lib/ant-apache-log4j.jar:$ANT_HOME/lib/ant-jmf.jar:$ANT_HOME/lib/ant-testutil.jar:$ANT_HOME/lib/ant-apache-oro.jar:$ANT_HOME/lib/ant-jsch.jar:$ANT_HOME/lib/ant-trax.jar:$ANT_HOME/lib/ant-apache-regexp.jar:$ANT_HOME/lib/ant-junit.jar:$ANT_HOME/lib/ant-weblogic.jar:$ANT_HOME/lib/ant-apache-resolver.jar:$ANT_HOME/lib/ant-launcher.jar:$ANT_HOME/lib/ant.jar:$ANT_HOME/lib/ant-commons-logging.jar:$ANT_HOME/lib/ant-netrexx.jar:$ANT_HOME/lib/xercesImpl.jar:$ANT_HOME/lib/ant-commons-net.jar:$ANT_HOME/lib/ant-nodeps.jar:$ANT_HOME/lib/xml-apis.jar" 

java -classpath $LIBS:$ANTLIBS $PARAMS org.apache.tools.ant.launch.Launcher -buildfile install/install.xml 

어떤 도움을 주시면 감사하겠습니다, 무엇을 시도 할 경우에도 단지 제안.

EDIT : 광저우 관찰에 비추어 볼 때, 나는 개미 애프터 럴에 대한 쉘 스크립트가 있다는 것을 깨달았습니다. (안타깝게도, 나는 리눅스 전문가가 아닙니다.) 그래서 개미를 실행하기 위해 그것을 사용하려고 시도 할 것입니다. 나 자신도 똑같은 일을 시도하십시오. 나는 모든 사람들에게 내 진보를 알리거나 내가 그런 식으로 그것을 고칠 수 있다면.

+2

왜 개미 스크립트를 쓰고 있습니까? ant/bin에 실행 파일이 있습니다. 이것은 기본적으로 동일합니다 (classpath에 averything을 추가하지만 현재있는 모든 jar 파일에 반복을 사용합니다). – oers

+0

.bat 파일과 perl 스크립트를 사용하며 원하는만큼 이 머신에 perl을 설치하면,이 설정은 항상 작동해야합니다. 즉, 설정을 실행하기 전에 일부 펄 설치를 자동화해야하고, 개미를 실행할 수 있도록 할 필요가 없습니다. – Neil

답변

2

내 컴퓨터에서 셸 스크립트를 조사했습니다. 추가 매개 변수 집합이 있습니다.

-Dant.library.dir=\"$ANT_LIB\" 

아마도 이것이 필요합니까? 설치를 시작합니다 개미 스크립트를 사용

ant_exec_command="exec \"$JAVACMD\" $ANT_OPTS 
    -classpath \"$LOCALCLASSPATH\" 
    -Dant.home=\"$ANT_HOME\" 
    -Dant.library.dir=\"$ANT_LIB\" $ant_sys_opts 
    org.apache.tools.ant.launch.Launcher 
    $ANT_ARGS 
    -cp \"$CLASSPATH\" 
    $ant_exec_args" 
+0

동일한 문제가 발생하지만 답변을 이해할 수 없습니다. 명확히 해 주시겠습니까? 죄송합니다! – Ziggy

+1

개미를위한 빌드 스크립트를 가지고 있거나 자바를 사용하여 개미를 호출하는 경우, 호출 명령어에'-Dant.library.dir = PATH_TO_ANT_LIB_DIR' 매개 변수를 추가해야합니다. 그렇지 않으면 ants_lib 디렉토리가 클래스 경로에 없습니다. – oers

+0

기본적으로 해결책은 개미를 시작하기 위해 개미 자신이 제공 한 쉘 스크립트를 사용하는 것이 었습니다 – oers

0

lib 디렉토리로 매개 변수 -lib를 지정하고/INSTALL.XML 설치 등 -buildfile, 트릭을 할 것 같았다.