2015-06-18 2 views
1

Как сборка, так и создание файла JAR являются успешными.Запуск использования муравей в java

Запуск файла java через файл ant создает ошибку.

<project> 
    <target name="clean"> 
     <delete dir="build"/> 
    </target> 

    <target name="compile"> 
     <mkdir dir="build/classes"/> 
     <javac srcdir="src" destdir="build/classes"/> 
    </target> 

    <target name="jar"> 
     <mkdir dir="build/jar"/> 
     <jar destfile="build/jar/Helloworld" basedir="build/classes"> 
      <manifest> 
       <attribute name="Main-Class" value="Helloworld"/> 
      </manifest> 
     </jar> 
    </target> 

    <target name="run"> 
     <java jar="build/jar/Helloworld" fork="true"/> 
    </target> 
</project> 

Buildfile: C:\Workspace\anttest\build.xml

run: 
[java] java.lang.NoClassDefFoundError: Helloworld 
[java] Caused by: java.lang.ClassNotFoundException: Helloworld 
[java]  at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
[java]  at java.security.AccessController.doPrivileged(Native Method) 
[java]  at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
[java]  at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
[java]  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
[java]  at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
[java] Could not find the main class: Helloworld. Program will exit. 
[java] Exception in thread "main" 
[java] Java Result: 1 

BUILD УСПЕШНЫЙ

ответ

0

Ant игнорирует код возврата процесса Java по Престола по умолчанию: https://ant.apache.org/manual/Tasks/java.html#failonerror вы можете добавить failonerror = «истинный» атрибут, чтобы изменить это поведение, а именно:

Попробуйте изменить

<target name="run"> 
    <java jar="build/jar/Helloworld" fork="true"/> 
</target> 

в

<target name="run"> 
    <java jar="build/jar/Helloworld" failonerror="true" fork="true"/> 
</target> 
-1

Ваш файл JAR не будет содержать HelloWorld класс.

+0

NoClassDefFoundError уже говорит об этом. Позаботьтесь о том, почему? – NickJ

+0

Я отвечаю на проблему, очевидно, это не очевидно для автора этого вопроса. – Crazyjavahacking

Смежные вопросы