我在本地运行我的Ant build.xml
文件,并在运行Jenkins的服务器上运行。为什么我的Ant类路径在Eclipse中正常但在Jenkins上为空?
本地,在Eclipse内部,构建工作非常好。我用设置类路径:
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar" />
</path>
,然后我用下面当我运行一个目标:
<javac srcdir="${src.dir}" destdir="${build.dir}" includeantruntime="false">
<classpath refid="classpath" />
</javac>
当调试使用echo
classpath中显示所有这一切都在我的project/lib
文件夹中的可用罐。但是,当我Jenkins获取此build.xml
文件并远程运行它时,它会打印一个空的类路径(使用相同的echo
目标)。
为什么我的类路径根据Eclipse和Jenkins而不同?
你的操作系统是什么?如果您使用类似操作系统的unix,则可以检查文件权限。 – erhun
我在Unix上,但如果Jenkins可以访问build.xml文件和我的所有源文件,它应该能够访问我的lib文件夹。 – sdasdadas
我看到两个可能的问题,都与$ {lib.dir}相关:如果它是相对路径,可能会因构建运行时的“current”目录而有所不同 - 因为它可能在eclipse/jenkins中不同(正如这里所指出的那样:尝试打印$ {basedir})。如果它是绝对的,那么在不同的文件夹结构中可能会有问题。 –