2010-10-02 21 views
7

benim paketin birini ithal ActionFactory.java dosyayı derlemek çalışıyorum, İşte ANT - bulamıyorum nedeniyle Javac hatası derlemek sembol

RegisterAction.java

dosya yapısı şöyledir:

/com/masatosan/eylemler/ANT çıkışına göre/RegisterAction.java

/com/masatosan/redirector/ActionFactory.java

kayıt, ben ANT ActionFactory.java

ithal edilmektedir RegisterAction.java bulamıyor düşünüyorum

Konsolda javac'ı elle çalıştırdığımda, bu ANT'nin bakmadığı bir sınıf yolu ayarı olması gerektiğinde başarıyla derlenir.

ANT_HOME/lib'ye biraz kavanoz ekleyebileceğimi biliyorum, fakat benim durumumda ANT, ActionRegister.java'yı, jar ya da başka bir şey bulamıyor gibi görünüyor. Herkes neyin yanlış olduğunu öğrenmeme yardımcı olabilir mi?

ANT komut

<project name="CompileMasatosan" default="main" 
    basedir="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\src\com\masatosan"> 
    <description> 
     masatosan compiler 
    </description> 

    <!-- this invokes all targets --> 
    <target name="main" depends="compileAll" /> 

    <!-- properties --> 
    <property name="srcMasatosan" 
     location="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\src\com\masatosan" /> 

    <property name="dest" 
    location="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\WEB-INF\classes" /> 

    <property name="redirectorSrc" location="${srcMasatosan}\redirector" /> 

    <!-- complie --> 
    <target name="compileAll"> 
     <javac target="1.5" source="1.5" srcdir="${redirectorSrc}" destdir="${dest}" /> 
    </target> 

</project> 

Çevre Değişken

ANT_HOME=C:\apache-ant-1.8.1-bin\apache-ant-1.8.1 

CLASSPATH=C:\Program Files\Java\jre6\bin;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib;C:\Program Files\Java\jre6\bin;C:\P 
rogram Files\Apache Software Foundation\Tomcat 6.0\lib\mail.jar;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib;C:\Program F 
iles\Java\jre6\bin;C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\src\com\masatosan\actions\register; 

ActionFactory.java

package com.masatosan.redirector; 
import com.masatosan.actions.register.RegisterAction; 

public class ActionFactory { 
//some code here... 

} 

ANT çıktı size "Javac" tek "SourcePath" belirterek Görünüşe

C:\apache-ant-1.8.1-bin\javac_masatosan\debug>ant 
Buildfile: C:\apache-ant-1.8.1-bin\javac_masatosan\debug\build.xml 

compileAll: 
    [javac] C:\apache-ant-1.8.1-bin\javac_masatosan\debug\build.xml:47: warning: 'includeantruntime' was not set, defaulting to build.s 
ysclasspath=last; set to false for repeatable builds 
    [javac] Compiling 4 source files to C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\WEB-INF\classes 
    [javac] C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\src\com\masatosan\redirector\ActionFactory.java:1 
5: cannot find symbol 
    [javac] symbol : class RegisterAction 
    [javac] location: package com.masatosan.actions.register 
    [javac] import com.masatosan.actions.register.RegisterAction; 
    [javac]         ^
    [javac] C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\src\com\masatosan\redirector\ActionFactory.java:2 
4: cannot find symbol 
    [javac] symbol : class RegisterAction 
    [javac] location: class com.masatosan.redirector.ActionFactory 
    [javac]    actions.put("POST/process_register.do", new RegisterAction()); 
    [javac]              ^
    [javac] 2 errors 

BUILD FAILED 
C:\apache-ant-1.8.1-bin\javac_masatosan\debug\build.xml:47: Compile failed; see the compiler error output for details. 

cevap

10

- ve ikisini birden değil. Belki geç cevap için üzgünüm

<target name="compileAll"> 
    <javac target="1.5" source="1.5" destdir="${dest}"> 
    <src path="${redirectorSrc}"/> 
    <src path="${srcMasatosan}"/> 
    </javac>  
</target> 
+0

yapmalıyım, siz, çözüm sorunu çözdü teşekkürler. –

+1

yazım hatası: '..target =" 1.5 source = "1.5 ...'? – Tshepang

0
Make it point to your exact jar files directory where jars are present 
<path id="classpath"> 
<fileset dir="${main.jar}" includes="**/*.jar"/> 
<!-- <pathelement location="${src.dir}" />--> 
</path> 

----in my case jar files present in ---- 
<property name="main.jar"  value="jar"/>