0
나는 다음과 같은 디렉토리 구조를 가지고 컴파일되지 않는개미가 패키지가 존재하지 않는 이유는 무엇입니까?
MyApp/
src/main/java/
com/
myapp/
api/
IFizz
FizzLoader
impl/
core/
FizzImpl
Cat
Dog
Tree
...many other objects
src/test/java
...
build/
lib/
...
난 단지뿐만 아니라
com.myapp.impl.core.FizzImpl
로
src/main/java/com/myapp/api
에서 모든 것을 컴파일 할 등이 Cat
, Dog
, Tree
등 (및 제외) . Ant 빌드에 의해
에서 (build.xml
), 나는 main.compile.path
다음과 같은 구성 :
<path id="src.path">
<fileset dir="src/main/java/com/myapp/api">
<include name="**.*java"/>
</fileset>
</path>
<path id="lib.main.path">
<fileset dir="lib/main">
<include name="**/*.jar"/>
</fileset>
</path>
<path id="main.compile.path">
<path refid="src.path" />
<path refid="lib.main.path" />
<fileset dir="src/main/java" includes="com/myapp/impl/core/**/*" />
</path>
그리고
다음main-compile
대상 : 나는 main-compile
을 실행하면 <target name="main-compile">
<javac includeantruntime="false" srcdir="src/main/java/com/myapp/api"
destdir="gen/bin/main" debug="on">
<classpath refid="main.compile.path"/>
</javac>
</target>
, 나는 다음과 같은 빌드 예외가 :
[javac] /home/myuser/eclipse/workspace/MyApp/src/main/java/com/myapp/api/FizzLoader.java:14: package com.myapp.impl.core does not exist
[javac] import com.myapp.impl.core.FizzImpl;
[javac] ...(omitting rest of trace but available upon request)
여기에서 FizzLoader
은 FizzImpl
의 인스턴스를 생성하므로 컴파일 경로에이 필드가 필요합니다.
왜 내가 main.compile.path
에 선택적으로 추가 한 com.myapp.impl.core.FizzImpl
을 Ant가 보지 못합니까? 미리 감사드립니다!