脚本在不同的系统上有不同的行为

时间:2012-02-21 08:43:16

标签: netbeans ant

我的netbeans java项目有默认生成 ant脚本,它在我的Windows桌面上工作得很好,我的 dist 文件夹包含 lib < / em>文件夹里面。
现在我在debian系统上有相同的文件和文件夹并运行ant,但 dist 文件夹从不包含 lib 文件夹中的依赖项jar。

项目中的设置等是正确的。

我使用的是带有debian 6.0.3的ant 1.8.0和带有windows xp的ant 1.8.2。

以下是netbeans http://pastebin.com/dk2x8Na1生成的ant脚本。

有什么问题?

2 个答案:

答案 0 :(得分:3)

我发现了“错误”:

我比较了日志文件并发现了问题:

  

-do-罐与 - 库包:
  跳过因为'do.mkdist'属性未设置。

您可以在文件 build.xml 中找到以下内容:

<condition property="do.mkdist">
    <and>
        <isset property="do.archive"/>
        <isset property="libs.CopyLibs.classpath"/>
        <not>
            <istrue value="${mkdist.disabled}"/>
        </not>
    </and>
</condition>

似乎未设置 libs.CopyLibs.classpath 。 NetBeans有一个实现,你可以在这里找到 java / ant / extra 。 lib名为 org-netbeans-modules-java-j2seproject-copylibstask.jar
我在 project.properties 中添加了以下条目:

libs.CopyLibs.classpath=tools/org-netbeans-modules-java-j2seproject-copylibstask.jar

之后,Debian也能正常工作。

答案 1 :(得分:0)

根据我在Windows环境中开发然后在Linux上部署的经验,有一些问题可能是:

  1. 使用路径:总是使用/ Temp / application / alpha而不是 比C:\ Temp \ application \ alpha - 正斜杠/相当于 Windows上的双反斜杠\并且在Linux上兼容
  2. 检查Linux上的Java版本是否相同,也是Windows Java版本的32/64版本。
  3. 确保Linux Java版本中包含任何第三方jar,例如安全加密升级等。
  4. 您的全局路径已正确设置。特别是在运行cron作业时。
  5. 尽可能尝试使用java环境变量。例如,引用临时文件夹时使用$ {java.io.tmpdir}。
  6. 我试图用很少的信息回答你的问题。

    你能提供你的蚂蚁脚本吗?