如何解决Ant Javac将子包类文件编译到父src目录
我希望Ant 1.9能够将servlet类编译到父src目录,但是文件系统中的文件位于软件包中。不,软件包未在servlet文件中声明。
该代码与所有servlet部署在同一目录中。我以为可以创建一个ant copy命令来执行此操作,但我希望有一个ant javac解决方案。
手动将其更改为每个子目录后为'javac -d .. * .java',其中不包括默认软件包中已存在的文件。这是非常不规则的,但是我无法更改软件包的定义方式,也无法更改执行代码的URL。
<target name="compileServlet" description="Compiles Java source files.">
<javac srcdir="${servlets.dir}" destdir="$(servlets.dir}" debug="true" encoding="ISO-8859-1" source="1.7" target="1.7" failonerror="true">
<classpath path="${env.CLASSPATH}" />
<include name="**/*.java"/>
</javac>
</target>
现在,当我运行此ant build.xml时,没有生成任何类文件。有什么想法可以解决这个问题吗?
解决方法
如果源文件位于多个根目录中,并且想要将它们全部编译到一个根目录中,请使用<src>
元素而不是srcdir
属性。
以下是documentation中显示的示例:
<javac destdir="${build}"
classpath="xyz.jar"
debug="on">
<src path="${src}"/>
<src path="${src2}"/>
<include name="mypackage/p1/**"/>
<include name="mypackage/p2/**"/>
<exclude name="mypackage/p1/testpackage/**"/>
</javac>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。