Как исправить ошибку Java Java. ClassNotFoundException: org.apache.tools.ant.taskdefs.Execute. - PullRequest
0 голосов
/ 15 января 2019

В настоящее время я использую Quick Books Online SDK, и часть их кода выдает ошибку «класс не найден». Кто-нибудь сталкивался с этой проблемой или подобной?

Я посмотрел на пример приложения HelloWorld и не вижу ничего отличного от моей текущей реализации. Более того, мне действительно нужна только их конфигурация по умолчанию.

ОШИБКА ПРИЧИНЫ МЕТОДА = >>

/**
 * Extracts environment properties on a JRE < 1.5. This implementation
 * uses ant for this purpose.
 */
void extractProperties14()
{
    extractPropertiesFromCollection(Execute.getProcEnvironment());
}

TRACE = >>>

java.lang.ClassNotFoundException: org.apache.tools.ant.taskdefs.Execute
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
    at org.apache.commons.configuration.EnvironmentConfiguration.extractProperties14(EnvironmentConfiguration.java:160) ~[commons-configuration-1.6.jar:1.6]
    at org.apache.commons.configuration.EnvironmentConfiguration.<init>(EnvironmentConfiguration.java:77) ~[commons-configuration-1.6.jar:1.6]
    at com.intuit.ipp.util.Config.<init>(Config.java:218) ~[ipp-v3-java-devkit-4.0.3-jar-with-dependencies.jar:na]
    at com.intuit.ipp.util.Config.<init>(Config.java:30) ~[ipp-v3-java-devkit-4.0.3-jar-with-dependencies.jar:na]
    at com.intuit.ipp.util.Config$1.initialValue(Config.java:188) ~[ipp-v3-java-devkit-4.0.3-jar-with-dependencies.jar:na]
    at com.intuit.ipp.util.Config$1.initialValue(Config.java:186) ~[ipp-v3-java-devkit-4.0.3-jar-with-dependencies.jar:na]
    at java.base/java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:195) ~[na:na]
    at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:172) ~[na:na]
    at com.intuit.ipp.util.Config$1.get(Config.java:192) ~[ipp-v3-java-devkit-4.0.3-jar-with-dependencies.jar:na]
    at com.intuit.ipp.util.Config$1.get(Config.java:186) ~[ipp-v3-java-devkit-4.0.3-jar-with-dependencies.jar:na]
    at com.intuit.ipp.util.Config.setProperty(Config.java:247) ~[ipp-v3-java-devkit-4.0.3-jar-with-dependencies.jar:na]
    at com.incursus.patch.helper.QBOServiceHelper.getDataService(QBOServiceHelper.java:24) ~[classes/:na]
    at com.incursus.patch.web.PortalController.callQBOCompanyInfo(PortalController.java:89) ~[classes/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:215) ~[spring-web-5.1.2.RELEASE.jar:5.1.2.RELEASE]

1 Ответ

0 голосов
/ 15 января 2019

У вас может быть проблема, связанная с отсутствующей библиотекой в ​​вашем пути к классам приложения

Таким образом, вы можете попробовать два варианта:

  1. Найдите совместимую версию и добавьте Apache Ant Core на ваш classpath
  2. Попробуйте обновить apache-commons-configuration 1.6 до apache-commons-configuration 1.10, для которого не требуется класс Execute.

Вот исходный код EnvironmentConfiguration, который в настоящее время находится в версии 1.10:

/**
 * Create a Configuration based on the environment variables.
 *
 * @see System#getenv()
 */
public EnvironmentConfiguration()
{
    super(new HashMap<String, Object>(System.getenv()));
}

Конечно, вам придется тестировать и проверять, если обновление версии не приведет к несовместимости во время выполнения.

...