蚂蚁生成未能mkdir

问题描述:

我目前正在试图获得一个私人服务器的老年人不再服务美国去。我绝不是一个Java高手,但我一直在Google上搜索,并且在没有运气的情况下在墙上敲了几个小时。我为此使用了eclipse,安装了JDK和JRE并配置了路径。蚂蚁生成未能mkdir

build.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<project name="L1J" default="all" basedir="."> 
<description> 
    This program is free software: you can redistribute it and/or modify 
    it under the terms of the GNU General Public License as published by 
    the Free Software Foundation, either version 3 of the License, or 
    (at your option) any later version. 

    This program is distributed in the hope that it will be useful, 
    but WITHOUT ANY WARRANTY; without even the implied warranty of 
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
    GNU General Public License for more details. 

    You should have received a copy of the GNU General Public License 
    along with this program. If not, see http://www.gnu.org/licenses/ 
</description> 

<!-- Set Property --> 
<property name="src.dir" value="src" /> 
<property name="lib.dir" value="libs" /> 
<property name="build.dir" value="build" /> 
<property name="main.class" value="jp.l1j.Server" /> 
<property name="jarfile" value="l1jserver.jar" /> 

<path id="libs"> 
    <fileset dir="${lib.dir}" includes="*.jar"/> 
</path> 
<pathconvert property="classpath" refid="libs" targetos="windows" pathsep=" "> 
    <map from="${basedir}\${lib.dir}\" to="./${lib.dir}/"/> 
    <map from="\" to="/"/> 
</pathconvert> 

<!-- Set DefaultTarget --> 
<target name="all" depends="clean,compile,jar,clean2" /> 

<!-- clean Target --> 
<target name="clean"> 
    <delete dir="${build.dir}" /> 
</target> 

<!-- Compile Target --> 
<target name="compile"> 
    <mkdir dir="${build.dir}" /> 
    <javac includeantruntime="true" srcdir="${src.dir}" 
     destdir="${build.dir}" 
     optimize="on" 
     debug="on" 
     encoding="UTF-8"> 
     <classpath refid="libs" /> 
     <compilerarg value="-Xlint:unchecked" /> 
    </javac> 
</target> 

<!-- jar Target --> 
<target name="jar"> 
    <jar jarfile="${jarfile}" basedir="${build.dir}"> 
     <manifest> 
      <attribute name="Main-Class" value="${main.class}" /> 
      <attribute name="Class-Path" value="${classpath}" /> 
     </manifest> 
    </jar> 
</target> 

<!-- clean Target --> 
<target name="clean2"> 
    <delete dir="${build.dir}" /> 
</target> 

</project> 

从Eclipse中的输出运行中的build.xml后:

Buildfile: C:\Users\Administrator\workspace\L1J\build.xml 

BUILD FAILED 
C:\Users\Administrator\workspace\L1J\build.xml:28: C:\Users\Administrator\workspace\L1J\libs does not exist. 

Total time: 390 milliseconds 

我也尝试手动创建目录,这样做允许脚本运行,但是当它与这个启动服务器批处理文件一起运行时,这给了我一个“无法找到或加载主类jp.l1j.server”的错误:

@java -server -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Xms1024m -Xmx1024m -XX:NewRatio=2 -XX:SurvivorRatio=8 -jar l1jserver 
@pause 

任何帮助将不胜感激!

您是否需要任何第三方库来编译或运行您的应用程序? 看来你的类路径总是空的,因为你必须手动创建libs目录。我认为在构建你的jar时你不需要任何依赖,因为ant构建成功了,但是在运行时可能需要一些吗?

使用id libs嵌套在path中的fileset正在执行pathconvert任务时正在扫描目录库。由于pathconvert不在target以外,因此在任何target之前执行。

另外,无论如何我没有看到mkdirlib.dir