2017-02-16 54 views
0

Мой муравей сценарий выглядит, как показано ниже -Невозможно запустить Java-класс от муравьев сценария, должны предоставить несколько банок в пути к классам, а также

<java classname="com.ns.common.event.UpdateSiteImageProperties" failonerror="true" >  

     <arg value="${package}/"/>   
     <arg value="${install-base}/Enterprise/db/NewDB/${site.abbreviation}/site-installer.properties"/> 
     <classpath> 
      <pathelement path="${classpath}"/> 
       <fileset dir="../lib"> 
       <include name="**/*.jar" /> 
       </fileset> 
       <fileset dir="../../Java"> 
       <include name="**/*.jar" /> 
       </fileset> 
     </classpath> 
    </java> 

</target> 

Я хочу назвать Java-классовые UpdateSiteImageProperties из которые я уже включил в classpath. Может ли кто-нибудь сказать, где я делаю неправильно?

Ниже исключение, которое я получаю -

D:\NS\test8\Production\Enterprise\META-INF\build.xml:155: java.lang.NullPointerException 
     at com.safenet.replication.util.BulletinBoardWriter.write(Unknown Source) 
     at com.safenet.replication.util.BulletinBoardWriter.debug(Unknown Source) 
     at com.ns.common.event.UpdateSiteImageProperties.main(UpdateSiteImageProperties.java:23) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:497) 
     at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217) 
     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152) 
     at org.apache.tools.ant.taskdefs.Java.run(Java.java:771) 
     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221) 
     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135) 
     at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108) 
     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:497) 
     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
     at org.apache.tools.ant.Task.perform(Task.java:348) 
     at org.apache.tools.ant.Target.execute(Target.java:435) 
     at org.apache.tools.ant.Target.performTasks(Target.java:456) 
     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 
     at org.apache.tools.ant.Project.executeTarget(Project.java:1364) 
     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
     at org.apache.tools.ant.Project.executeTargets(Project.java:1248) 
     at org.apache.tools.ant.Main.runBuild(Main.java:851) 
     at org.apache.tools.ant.Main.startAnt(Main.java:235) 
     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 
+0

Какая строка 155 в вашем 'build.xml'? – SubOptimal

+0

Что происходит в 'UpdateSiteImageProperties'? – vegaasen

+0

Строка №. 155 - <ява имя_класса = "com.ns.common.event.UpdateSiteImageProperties" failonerror = "истинный"> –

ответ

0

Я получил решение моего вопроса выше. Если кто-то другой сталкивается с одной и той же проблемой, то что они могут сделать, это создать свою собственную ссылку на путь, а затем указать ее в путь к классам, где вы вызываете свой Java-класс. Эти 10 строк муравейника съедали мои 3 дня. Но я рад поделиться им, чтобы хоть кто-то мог сэкономить свое время. Он должен выглядеть следующим образом:

<path id="dyna.jars"> 
       <fileset dir="./lib"> 
        <include name="**/*.jar" /> 
       </fileset>   
     </path>   
     <java classname="com.ns.common.event.UpdateSiteImageProperties" failonerror="true" >  
      <classpath refid="dyna.jars" /> 
      <arg value="${package}/"/>   
      <arg value="${install-base}/Enterprise/db/NewDB/${site.abbreviation}/site-installer.properties"/>     
     </java>