В соответствии с документацией задачи java
ваш второй пример должен работать как положено (за исключением того, что classpath
будет игнорироваться).
Редактировать: Информация, которую вы добавили в свой вопрос, подразумевает несколько вещей:
- файл
.jar
найден - в нем есть правильная запись
Main-Class
в манифесте - ваше приложение требует log4j
- оно не имеет правильную
Class-Path
запись, указывающую на log4j.jar
файл
В основном java
Задача ant имеет те же требования, что и использование java -jar
в командной строке: если ваш файл .jar
работает неправильно с использованием java -jar myApp.jar
в командной строке, тогда задача Ant java
не будет работать так же.
Редактировать 2: Всякий раз, когда вы вызываете файл .jar
непосредственно в Java, никакой дальнейший путь к классу не может быть указан каким-либо образом.Это верно, когда вы используете java -jar myApp.jar
, и это также верно, когда вы используете задачу java
Ant с атрибутом jar
.Это означает, что сам файл .jar
должен содержать правильную запись Class-Path
.